Commit graph

161 commits

Author SHA1 Message Date
Stephen Birarda
d9254aa2e9 remove comment that won't come into play until ordering 2015-08-10 10:14:50 -07:00
Stephen Birarda
eb17ddc04f fix capitalization of RTO for CongestionControl 2015-08-10 10:13:53 -07:00
Atlante45
01749ad0de TimeoutNAK fixes 2015-08-04 15:07:04 -07:00
Stephen Birarda
3d0c71d95c remove a double on arrival time record 2015-08-04 12:29:22 -07:00
Stephen Birarda
a10746a448 set the max window size, correct a typo 2015-08-03 19:12:39 -07:00
Atlante45
40520c204f Stats improvement 2015-08-03 17:39:09 -07:00
Atlante45
99fcb08fd1 Merge branch 'atp' of https://github.com/birarda/hifi into protocol 2015-08-03 17:15:12 -07:00
Atlante45
c0852f0eb2 Remove call to has pending datagrams 2015-08-03 17:14:42 -07:00
Stephen Birarda
36a0ef50d4 add assert for BasePacket write, fix time in Connection 2015-08-03 16:21:17 -07:00
Stephen Birarda
acd7a7a732 fix send/process for ACK packets 2015-08-03 16:04:08 -07:00
Stephen Birarda
b5ec02bd01 go back to previous PacketTimeWindow code 2015-08-03 15:36:08 -07:00
Stephen Birarda
d937cf1cc7 set RTT on congestion control in ctor 2015-08-03 15:05:41 -07:00
Stephen Birarda
62d4467f41 use a vector for events in ConnectionStats 2015-08-03 12:09:25 -07:00
Stephen Birarda
bc5ddd3837 send a light ACK every 64, not each after 64 2015-07-31 20:12:48 -07:00
Stephen Birarda
7f8c993bd7 make send rate actually send rate, don't sync as sender 2015-07-31 19:42:27 -07:00
Stephen Birarda
74a2d985eb tell the send queue about ACKs on light ACK 2015-07-31 19:17:02 -07:00
Atlante45
29b3051aeb Merge branch 'atp' of https://github.com/birarda/hifi into protocol 2015-07-31 18:39:52 -07:00
Atlante45
ca342fb3b4 Fix std::find_if 2015-07-31 18:39:24 -07:00
Stephen Birarda
8bc94454b4 pre-increment the _currentACKSubSequenceNumber 2015-07-31 18:39:09 -07:00
Atlante45
8f54cd6f7e Fix find_if_not 2015-07-31 18:19:15 -07:00
Stephen Birarda
e74f47b64c use a list of pairs of pairs for ACK2 2015-07-31 18:13:11 -07:00
Atlante45
9537aea5c0 Fix nak timeout packet size 2015-07-31 17:31:30 -07:00
Atlante45
cba51ac63d Fix congestion control 2015-07-31 16:53:43 -07:00
Stephen Birarda
15ce9aabc5 don't assert on moved CC 2015-07-31 16:52:59 -07:00
Stephen Birarda
fa6628e7eb make sure we init CongestionControl 2015-07-31 16:52:09 -07:00
Stephen Birarda
84b8fc9f06 fix casing of onACK method in CC 2015-07-31 16:41:22 -07:00
Stephen Birarda
9b6c8bcf77 update EWMA for delivery rate and bandwidth 2015-07-31 16:37:38 -07:00
Atlante45
f9c8f30083 Merge branch 'atp' of https://github.com/birarda/hifi into protocol 2015-07-31 16:16:06 -07:00
Atlante45
7083d84372 Fix ack timestamps 2015-07-31 16:15:21 -07:00
Stephen Birarda
d420bca88e fix for ACK2 sending, output prettier stats 2015-07-31 16:14:33 -07:00
Atlante45
c5b92d319f Update stats gathering 2015-07-31 16:14:19 -07:00
Atlante45
ed614521fd Merge branch 'atp' of https://github.com/birarda/hifi into protocol 2015-07-31 15:12:15 -07:00
Stephen Birarda
ce21204151 add output of connection stats in UDTTest 2015-07-31 15:09:30 -07:00
Atlante45
b437f3bca9 Made connection hash hold unique ptr 2015-07-31 10:42:43 -07:00
Atlante45
4f8f9903c2 Merge branch 'atp' of https://github.com/birarda/hifi into protocol 2015-07-31 10:18:42 -07:00
Stephen Birarda
98a53cbd72 don't require a sendQueue for control packet sending 2015-07-31 09:56:50 -07:00
Stephen Birarda
f2ab2fb08a start with a congestion window of 16, not 25 grand 2015-07-31 09:36:55 -07:00
Atlante45
e81e1c42b0 Add send queue getter 2015-07-30 18:22:27 -07:00
Stephen Birarda
8e786cb953 repairs while testing with UDTTest 2015-07-30 17:40:51 -07:00
Stephen Birarda
367fa7b07b fixes for assert in Connection and ControlPacket create 2015-07-30 17:20:22 -07:00
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