[Sumover-dev] [svn commit] r4266 - vic/branches/cc/cc
sumover-dev at cs.ucl.ac.uk
sumover-dev at cs.ucl.ac.uk
Tue Aug 12 19:14:34 BST 2008
Author: soohyunc
Date: Tue Aug 12 19:14:34 2008
New Revision: 4266
Modified:
vic/branches/cc/cc/tfwc_sndr.cpp
vic/branches/cc/cc/tfwc_sndr.h
Log:
(on-going) TfwcSndr
Modified: vic/branches/cc/cc/tfwc_sndr.cpp
==============================================================================
--- vic/branches/cc/cc/tfwc_sndr.cpp (original)
+++ vic/branches/cc/cc/tfwc_sndr.cpp Tue Aug 12 19:14:34 2008
@@ -48,9 +48,13 @@
TfwcSndr::TfwcSndr() :
seqno_(0),
- aoa_(0)
+ aoa_(0),
+ ts_(0),
+ ts_echo_(0),
+ npkt_(0)
{
- u_int32_t marginvec_ = 0xe0000000;
+ // for simulating TCP's 3 dupack rule
+ u_int32_t mvec_ = 0x07;
}
void TfwcSndr::tfwc_sndr_send(pktbuf* pb) {
@@ -62,16 +66,25 @@
// sequence number must be greater than zero
assert (seqno_ > 0);
debug_msg("sent seqno: %d\n", seqno_);
+
+ npkt_++; // number of packet sent
}
void TfwcSndr::tfwc_sndr_recv(u_int32_t ackv, u_int32_t ts_echo)
{
- // the most recent 3 packets will be marked as 1 using marginvec_
- ackv_ = ackv | marginvec_;
+ // retrieve ackvec and ts echo
+ ackv_ = ackv;
ts_echo_ = ts_echo;
+
+ // mask most 3 recent packets
+ if (npkt_ > DUPACKS)
+ ackv_ = ackv | mvec_;
+
+ tao_ = tfwc_sndr_now() - ts_echo_;
+
debug_msg(" ts echo: %d\n", ts_echo_);
}
void TfwcSndr::ackofack() {
- aoa_ = marginvec_ | 0x01000000;
+ aoa_ = mvec_ | 0x01000000;
}
Modified: vic/branches/cc/cc/tfwc_sndr.h
==============================================================================
--- vic/branches/cc/cc/tfwc_sndr.h (original)
+++ vic/branches/cc/cc/tfwc_sndr.h Tue Aug 12 19:14:34 2008
@@ -60,14 +60,15 @@
u_int16_t seqno_; // packet sequence number
protected:
-
- u_int32_t marginvec_; // margin vec
- u_int32_t ackv_; // AckVec (in TfwcSndr)
+ u_int32_t mvec_; // margin vec (simulatinmg TCP 3 dupacks)
+ u_int32_t ackv_; // received AckVec (from TfwcRcvr)
+ u_int32_t pvec_; // sent packet list
u_int16_t aoa_; // ack of ack
u_int32_t ts_; // time stamp
u_int32_t ts_echo_; // echo time stamp from the receiver
- TfwcSndr* tfwcsndr_;
+ u_int32_t tao_; // sampled RTT
private:
+ int npkt_; // number of packet sent
};
#endif
More information about the Sumover-dev
mailing list