33,51d32 < /* Ira Burton, Functions for the cluster protocol. */ < extern int cluster_write_xmit(struct sock *, int nonagle); < extern int cluster_rcv_established(struct sock *sk, < struct sk_buff *skb, < struct tcphdr *th, < unsigned len); < extern void cluster_send_ack(struct sock *sk); < extern void cluster_send_delayed_ack(struct sock *sk); < extern int cluster_sendmsg(struct sock *sk, struct msghdr *msg, int size); < extern int cluster_recvmsg(struct sock *sk, < struct msghdr *msg, < int len, int nonblock, < int flags, int *addr_len); < extern void cluster_push_one(struct sock *, unsigned mss_now); < extern int cluster_rcv(struct sk_buff *skb); < extern struct proto cluster_prot; < < /* Ira Burton, end of cluster functions. */ < 1273,1291d1253 < < /* Pushes out any queued frames, and re-validates the window. < * Identical to TCP code except calls cluster functions. < */ < static __inline__ void cluster_push_pending_frames(struct sock *sk, struct tcp_opt *tp, < unsigned cur_mss, int nonagle) < { < struct sk_buff *skb = tp->send_head; < < if (skb) { < if (!tcp_skb_is_last(sk, skb)) < nonagle = 1; < if (!tcp_snd_test(tp, skb, cur_mss, nonagle) || < cluster_write_xmit(sk, nonagle)) < tcp_check_probe_timer(sk, tp); < } < tcp_cwnd_validate(sk, tp); < } <