Commit graph

121 commits

Author SHA1 Message Date
Stephen Birarda
d340515ab3 complete the initial version of UDTTest 2015-07-30 17:09:25 -07:00
Stephen Birarda
e7f5bec3d0 take out the incorrect attempt to cast for bitwise 2015-07-30 10:30:14 -07:00
Stephen Birarda
57025cff74 fix packet pair sending from SendQueue 2015-07-30 10:20:09 -07:00
Atlante45
fe48bfdf95 Merge branch 'atp' of https://github.com/birarda/hifi into protocol 2015-07-29 17:29:36 -07:00
Stephen Birarda
66c308b436 actually process control and sequence numbers from Socket 2015-07-29 16:48:14 -07:00
Atlante45
116ff17fcf SendQueue auto thread cleanup 2015-07-29 16:38:37 -07:00
Atlante45
313fcea9fb Merge branch 'atp' of https://github.com/birarda/hifi into protocol 2015-07-29 16:25:26 -07:00
Atlante45
ce1fc4baa9 Send light acks based on CC member 2015-07-29 16:24:58 -07:00
Stephen Birarda
35f00f9ba1 rename the CC and send queue updater 2015-07-29 16:12:50 -07:00
Stephen Birarda
5fc3e7dbf1 add an updater that takes a lambda for CC update 2015-07-29 16:12:00 -07:00
Atlante45
96dc033de1 Merge branch 'atp' of https://github.com/birarda/hifi into protocol 2015-07-29 16:04:23 -07:00
Atlante45
f7f7ff385f Code cleanup 2015-07-29 16:04:13 -07:00
Stephen Birarda
4907418587 update the flow window size for the send queue 2015-07-29 15:53:44 -07:00
Atlante45
8a3c51ef61 Merge branch 'atp' of https://github.com/birarda/hifi into protocol 2015-07-29 15:45:24 -07:00
Atlante45
785d14f835 Cleanup sendACK 2015-07-29 15:43:44 -07:00
Stephen Birarda
55555cf13e setup default for RTT, RTT variance, _synInterval 2015-07-29 15:28:20 -07:00
Atlante45
5236abe561 Connetion record stats/factored send for control packets 2015-07-29 15:18:42 -07:00
Atlante45
236c097853 Bit of code cleanup 2015-07-29 12:30:55 -07:00
Atlante45
abfe434b30 Synchronise SendQueue and CongestionControl 2015-07-29 11:39:33 -07:00
Stephen Birarda
169cb97db5 fix bandwidth and receive rate EWMA in Connection 2015-07-29 11:35:06 -07:00
Stephen Birarda
f65472cbc7 use a double USECS_PER_SECOND in CongestionControl 2015-07-29 11:14:03 -07:00
Stephen Birarda
d344ba5743 add a comment for Connection processTimeoutNAK 2015-07-29 10:56:38 -07:00
Stephen Birarda
94db77155e fix for RTT numerator calculations 2015-07-29 10:55:22 -07:00
Atlante45
18795321d7 Merge branch 'atp' of https://github.com/birarda/hifi into protocol 2015-07-28 19:28:03 -07:00
Atlante45
7b3761f07a Implement NAK timeout packets read/write 2015-07-28 19:27:29 -07:00
Stephen Birarda
99f9a4a712 add TODOs for onLoss, handle ACK from packet count 2015-07-28 19:23:38 -07:00
Stephen Birarda
b7d80ca435 remove a TODO that is actually done 2015-07-28 18:22:33 -07:00
Stephen Birarda
43e81420bd add a TODO for processTimeoutNAK 2015-07-28 18:21:32 -07:00
Stephen Birarda
3b7d0ab62a make TODO a TODO 2015-07-28 18:21:00 -07:00
Stephen Birarda
e69cc2aae8 pass const ref LossList to CongestionControl 2015-07-28 18:20:37 -07:00
Stephen Birarda
dc65a2fe1a use user defined RTO for timeout (if defined) 2015-07-28 18:11:21 -07:00
Stephen Birarda
b9b4245dfe NAK interval is in microseconds 2015-07-28 18:05:42 -07:00
Stephen Birarda
cb134f4685 remove onPacketSent and onPacketReceived from CC, use setRTT 2015-07-28 18:04:18 -07:00
Stephen Birarda
0e0968f748 initial support to get CongestionControl down to Connection 2015-07-28 17:58:49 -07:00
Stephen Birarda
988bd226ca change SendQueue timing to use usleep and std::chrono 2015-07-28 17:16:20 -07:00
Stephen Birarda
05d9845077 add counting of total control packets sent/received 2015-07-28 17:01:13 -07:00
Stephen Birarda
74b0fa7e87 use microseconds for intervals, setup timeout NAKs 2015-07-28 16:43:21 -07:00
Stephen Birarda
13568d3d69 add constants for RTT estimation calculations 2015-07-28 15:59:13 -07:00
Atlante45
121b9738a1 Merge branch 'atp' of https://github.com/birarda/hifi into protocol 2015-07-28 15:33:42 -07:00
Atlante45
24520c5856 LNL send cleanup / Added connection hash 2015-07-28 15:32:00 -07:00
Stephen Birarda
b0147144cb fix for comment for PacketTimeWindow 2015-07-28 15:25:08 -07:00
Stephen Birarda
cf30426636 add a PacketTimeWindow to estimate bandwidth and report speed 2015-07-28 15:21:17 -07:00
Stephen Birarda
e3e8219c11 add some comments to help understand the RTT calculation 2015-07-28 14:20:51 -07:00
Stephen Birarda
b6bdcadd33 make updateRTT take an int 2015-07-28 14:02:13 -07:00
Atlante45
8a474ac20a Merge branch 'atp' of https://github.com/birarda/hifi into protocol 2015-07-28 14:01:21 -07:00
Stephen Birarda
c17f4b8991 add a missing bracket, comment for processACK 2015-07-28 13:58:21 -07:00
Atlante45
f0bb71b519 Change Packet read/write fcts 2015-07-28 13:48:20 -07:00
Stephen Birarda
f45b36c9ec resolve conflicts on merge with clement/protocol 2015-07-28 13:40:50 -07:00
Stephen Birarda
606356cdcf rename SeqNum to SequenceNumber 2015-07-28 13:39:19 -07:00
Stephen Birarda
a8371cc3ed send the actual sequence number being ACKed 2015-07-28 13:28:01 -07:00
Stephen Birarda
0b8feed327 add a map of sentACKs for ACK2 processing 2015-07-28 13:01:35 -07:00
Stephen Birarda
155d339c2f remove RTT variance that isn't handled 2015-07-28 11:53:40 -07:00
Stephen Birarda
c7ae4d5e59 implement more of processACK in Connection 2015-07-28 11:47:57 -07:00
Atlante45
cc4347ef6e Merge branch 'atp' of https://github.com/birarda/hifi into protocol 2015-07-28 10:37:53 -07:00
Atlante45
8b71462dc1 Remove unnecessary headers 2015-07-28 10:36:00 -07:00
Stephen Birarda
c32c95c707 complete implementation of processLightACK 2015-07-28 10:33:07 -07:00
Stephen Birarda
17d8085ab5 add process methods for control packet types 2015-07-28 10:01:38 -07:00
Stephen Birarda
c14fee2ee8 remove initialization of rtt and rttVariance 2015-07-28 09:56:31 -07:00
Stephen Birarda
3efd1be3d6 resolve conflicts for removal of ACK2 process 2015-07-28 09:54:46 -07:00
Atlante45
6577845d3f Merge branch 'atp' of https://github.com/birarda/hifi into protocol 2015-07-27 20:45:47 -07:00
Atlante45
89a53886cb Read ACK, NAK control packet 2015-07-27 20:44:12 -07:00
Atlante45
5833cea29d Send out NAK packets 2015-07-27 18:51:17 -07:00
Stephen Birarda
f176c45a61 return an ACK2 from processControl 2015-07-27 17:48:38 -07:00
Atlante45
2ecb445ce9 Merge branch 'atp' of https://github.com/birarda/hifi into protocol 2015-07-27 17:45:31 -07:00
Atlante45
c4f88a0f53 Added loss list to connections 2015-07-27 17:41:15 -07:00
Stephen Birarda
75765d02e4 correct sizeof ACK_PACKET_PAYLOAD_BYTES in Connection 2015-07-27 17:40:32 -07:00
Stephen Birarda
52411bb8ba pack ACK sub sequence number manually for control 2015-07-27 17:23:39 -07:00
Stephen Birarda
f6fb421bf2 write out more packing of ACK packet in Connection 2015-07-27 17:15:26 -07:00
Stephen Birarda
90d2515674 add methods to send ACKs from Connection 2015-07-27 16:43:49 -07:00
Atlante45
2b29f5c130 More work on Connnections 2015-07-27 15:57:41 -07:00
Atlante45
f520caa5fe Connection class draft 2015-07-27 12:06:27 -07:00