• Main Page
  • Classes
  • Files
  • File List

/Users/yzchen/ns/ns-allinone-2.33/ns-2.33/tcp/linux/src/tcp_vegas.h

00001 /*
00002  * TCP Vegas congestion control interface
00003  */
00004 #ifndef __TCP_VEGAS_H
00005 #define __TCP_VEGAS_H 1
00006 
00007 /* Vegas variables */
00008 struct vegas {
00009         u32     beg_snd_nxt;    /* right edge during last RTT */
00010         u32     beg_snd_una;    /* left edge  during last RTT */
00011         u32     beg_snd_cwnd;   /* saves the size of the cwnd */
00012         u8      doing_vegas_now;/* if true, do vegas for this RTT */
00013         u16     cntRTT;         /* # of RTTs measured within last RTT */
00014         u32     minRTT;         /* min of RTTs measured within last RTT (in usec) */
00015         u32     baseRTT;        /* the min of all Vegas RTT measurements seen (in usec) */
00016 };
00017 
00018 extern void tcp_vegas_init(struct sock *sk);
00019 extern void tcp_vegas_state(struct sock *sk, u8 ca_state);
00020 extern void tcp_vegas_pkts_acked(struct sock *sk, u32 cnt, ktime_t last);
00021 extern void tcp_vegas_cwnd_event(struct sock *sk, enum tcp_ca_event event);
00022 extern void tcp_vegas_get_info(struct sock *sk, u32 ext, struct sk_buff *skb);
00023 
00024 #endif  /* __TCP_VEGAS_H */

Generated on Tue Aug 10 2010 16:16:08 for ns-2.33 by  doxygen 1.7.1