Commit History

Author SHA1 Message Date
  whitequark a04b32441b Implement TCP keep-alive. 8 years ago
  whitequark c5deacbcb8 Fix warnings. 8 years ago
  whitequark 14355e15d0 RingBuffer::{empty,full}→is_{empty,full}. 8 years ago
  whitequark 388e94b32a Remove Error::Rejected. 8 years ago
  Egor Karavaev a2c66fdd88 Factor out TcpSocket::accepts. 8 years ago
  whitequark cef2d58c73 Send a challenge ACK in response to an unacceptable TCP ACK. 8 years ago
  whitequark 68921f14f8 Refactor the "random access" ring buffer interface. 8 years ago
  whitequark fb05226a62 Refactor the "continuous" ring buffer interface. 8 years ago
  whitequark 9cb813134c Merge the TCP ring buffer and generic ring buffer. 8 years ago
  whitequark 550deb3bc5 Don't instantly ACK every received TCP segment. 8 years ago
  whitequark 7e2dc1a6d6 Allow querying the size of the TCP transmit and receive buffers. 8 years ago
  whitequark b6f7529fd7 TCP socket debug messages "sending <flags>" should be at DEBUG level. 8 years ago
  whitequark f76b4be42d Dispatch a TCP ACK every time window increases at all. 8 years ago
  whitequark 21282fdb22 Send a TCP ACK after window increases from zero to non-zero. 8 years ago
  whitequark 86a05f13f5 More rigorously treat the TcpSocket::remote_last_ack field. 8 years ago
  whitequark 3ab58b084d Fix the TCP SEQ acceptability check. 8 years ago
  whitequark b92708596a Move the TCP receive window clamping hack downwards in stack. 8 years ago
  whitequark 79d8470f41 Rework TCP retransmit logic to be much more robust. 8 years ago
  whitequark 39464a53fc Compute soft deadline in poll() and use nonblocking sockets. 8 years ago
  whitequark 46630603df Reset the timer transitioning from TCP FIN-WAIT-1 to FIN-WAIT-2. 8 years ago
  whitequark 66e3684189 Add a test for TCP sockets returning ACKs even with zero window. 8 years ago
  whitequark 43a547fb0c Factor out packet parsing from Socket::process. 8 years ago
  whitequark 3974dc780f Get rid of unused arguments in Socket::{process,dispatch}. 8 years ago
  whitequark ab0eccd213 Get rid of IpPayload and indirection in Socket::dispatch. 8 years ago
  whitequark 917f89e14b Use FnOnce, not FnMut, in Socket::dispatch() functions. 8 years ago
  whitequark 5cb2dcd1aa Fix a TCP retransmit loop after transition from SYN-SENT to ESTABLISHED. 8 years ago
  whitequark b5df50643e Fix a bug that caused TCP packets with PSH bit to be dropped. 8 years ago
  whitequark 639dfd94c0 TcpRepr::push → TcpControl::Psh. 8 years ago
  whitequark f3dc84539e Immediately ACK payload in response to TCP packets that have any. 8 years ago
  whitequark 72359cdd37 Radically simplify and optimize TCP packet dispatch. 8 years ago