whitequark
|
3e7a1ee575
|
Implement the TCP FIN-WAIT-2 state.
|
2016-12-28 04:10:17 +00:00 |
whitequark
|
9dc931dbe2
|
Implement the TCP FIN-WAIT-1 state.
|
2016-12-28 04:02:43 +00:00 |
whitequark
|
71268ace88
|
Get rid of the #![feature(const_fn)].
|
2016-12-28 00:08:51 +00:00 |
whitequark
|
df69303624
|
Fix state names in documentation.
|
2016-12-27 23:28:57 +00:00 |
whitequark
|
979cd4c1bf
|
Implement the TCP LAST-ACK state.
|
2016-12-27 23:27:33 +00:00 |
whitequark
|
874264503d
|
Implement the TCP close operation.
|
2016-12-27 22:43:16 +00:00 |
whitequark
|
feaef0d7c4
|
Fix TCP sequence number in multiple consecutive non-ACKed data packets.
|
2016-12-27 20:39:46 +00:00 |
whitequark
|
17f96ba929
|
Fix TcpSocket::can_recv().
|
2016-12-27 20:17:46 +00:00 |
whitequark
|
71d1b4061f
|
Fix ACK validation of TCP RST packets.
|
2016-12-27 20:17:35 +00:00 |
whitequark
|
867dda659d
|
Fix several TCP out-of-bounds reads from the transmit buffer.
|
2016-12-27 20:17:03 +00:00 |
whitequark
|
69427c9e2f
|
Add TcpSocket::is_connected().
|
2016-12-27 18:54:45 +00:00 |
whitequark
|
6b592742fd
|
Use the correct wrapping operations on TCP sequence numbers.
|
2016-12-27 18:34:13 +00:00 |
whitequark
|
bbff907e87
|
Fix examples.
|
2016-12-27 18:04:39 +00:00 |
whitequark
|
a8fc4fd832
|
Improve the user-facing TCP socket API.
|
2016-12-27 17:49:40 +00:00 |
whitequark
|
09040f3e91
|
Accept TCP ACK packets in CLOSE_WAIT state.
|
2016-12-27 14:13:42 +00:00 |
whitequark
|
d11016b138
|
Simplify TCP ACK handling.
|
2016-12-27 14:04:30 +00:00 |
whitequark
|
751a2269c3
|
Add support for TCP FIN in ESTABLISHED state.
|
2016-12-27 13:34:48 +00:00 |
whitequark
|
79553e81d4
|
Fix TCP incoming sequence number check.
|
2016-12-26 17:24:37 +00:00 |
whitequark
|
2d562c10fa
|
Add support for multiple outgoing in-flight TCP packets.
|
2016-12-26 16:59:39 +00:00 |
whitequark
|
3917ba5836
|
Shrink the buffers in examples for ease of testing.
|
2016-12-26 16:29:33 +00:00 |
whitequark
|
a8b4ed2deb
|
Implement the userspace side of TCP sockets.
|
2016-12-26 15:05:46 +00:00 |
whitequark
|
0e20ea9205
|
Implement TCP data transmission.
|
2016-12-26 14:24:17 +00:00 |
whitequark
|
0bf822c77e
|
Implement TCP RST handling.
|
2016-12-26 13:54:26 +00:00 |
whitequark
|
83f886826f
|
Validate ACK for TCP RST packets.
|
2016-12-26 13:10:39 +00:00 |
whitequark
|
f468f47959
|
Validate ACK even in TCP LISTEN state.
|
2016-12-26 13:00:39 +00:00 |
whitequark
|
2de98aea06
|
Add tests for TCP error conditions.
|
2016-12-26 12:44:41 +00:00 |
whitequark
|
25d453447f
|
Generalize the TCP tests to accept multiple packets.
|
2016-12-26 12:38:40 +00:00 |
whitequark
|
ea78053dc1
|
Factor out IpRepr into the wire module.
|
2016-12-26 11:20:20 +00:00 |
whitequark
|
ea07e79bdf
|
Group IP header parts in the socket layer as struct IpRepr.
|
2016-12-26 10:06:49 +00:00 |
whitequark
|
b5a9917950
|
Implement TCP data acknowledgement.
|
2016-12-25 11:19:50 +00:00 |
whitequark
|
0ae27678a0
|
Implement TCP data reception.
|
2016-12-25 11:09:50 +00:00 |
whitequark
|
bdfb99ea16
|
Validate TCP ACKs.
|
2016-12-25 09:22:49 +00:00 |
whitequark
|
fa1a51b90a
|
Add tests for TCP state machine.
|
2016-12-24 23:06:42 +00:00 |
whitequark
|
f5f0b8e435
|
Add basic TCP three-way handshake.
|
2016-12-23 08:05:50 +00:00 |
whitequark
|
3c05139204
|
Add logging capability.
|
2016-12-23 07:59:38 +00:00 |
whitequark
|
6539019f19
|
Get rid of explicit backlog.
|
2016-12-23 07:34:10 +00:00 |
whitequark
|
3bd715e1bc
|
Use signed integers to represent TCP sequence numbers.
|
2016-12-23 07:34:07 +00:00 |
whitequark
|
1ad8f9c9bd
|
Implement conversion of incoming TCP connections into TCP streams.
|
2016-12-20 22:57:21 +00:00 |
whitequark
|
bddb5f9127
|
Implement TCP server sockets.
|
2016-12-20 19:51:52 +00:00 |
whitequark
|
a3481537d9
|
Add some sanity into buffer names (avoid clases with wire::*).
|
2016-12-20 13:56:59 +00:00 |
whitequark
|
71fc81b7c5
|
Implement TCP stream ring buffers.
|
2016-12-18 19:40:50 +00:00 |