Commit Graph

210 Commits

Author SHA1 Message Date
Mark Spanbroek 805fefe50c Rename: Connection.read() -> Connection.receive() 2020-11-05 09:52:24 +01:00
Mark Spanbroek 38433d723f Introduce flow control, which allows async handshake completion 2020-11-05 09:52:24 +01:00
Mark Spanbroek 21f4f995d7 Write to stream results in datagram added to outgoing queue 2020-11-05 09:52:24 +01:00
Mark Spanbroek dfecdc9294 Replace outgoing seq with an AsyncQueue 2020-11-05 09:52:24 +01:00
Mark Spanbroek 6a54952c8b Introduce sequence of outgoing datagrams 2020-11-05 09:52:24 +01:00
Mark Spanbroek ddd874b6d1 Support reading and writing of zero-length seqs 2020-11-05 09:52:24 +01:00
Mark Spanbroek cfa6df32c0 Add Datagram.len 2020-11-05 09:52:24 +01:00
Mark Spanbroek 74dc38d01c Combine data and explicit congestion notification into Datagram object 2020-11-05 09:52:24 +01:00
Mark Spanbroek 783a6c0000 Rename: Datagram -> DatagramBuffer 2020-11-05 09:52:24 +01:00
Mark Spanbroek 8d5dacdf61 Introduce buffer at connection level
Simplifies Connection.write() and Stream.write() calls.
2020-11-05 09:52:24 +01:00
Mark Spanbroek f352c6d88c Close stream 2020-11-05 09:52:24 +01:00
Mark Spanbroek 05b6e58028 Write to stream 2020-11-05 09:52:24 +01:00
Mark Spanbroek a23f257b14 Use the 'std' prefix for standard library imports 2020-11-05 09:52:24 +01:00
Mark Spanbroek d390d3660f Move datagram one level up 2020-11-05 09:52:24 +01:00
Mark Spanbroek e03ba54b00 Provide correct path when writing to datagram 2020-11-05 09:52:24 +01:00
Mark Spanbroek 84b0e60a4b Remove erroneous udp write loop, increase test coverage 2020-11-05 09:52:24 +01:00
Mark Spanbroek 5e1ba19763 Move stream tests into separate file 2020-11-05 09:52:24 +01:00
Mark Spanbroek 2709281696 Move test helpers performHandshake() and zeroAddress into separate files 2020-11-05 09:52:24 +01:00
Mark Spanbroek c1d8950ba3 Remove duplication in test 2020-11-05 09:52:24 +01:00
Mark Spanbroek dece29fdfa Fix: Connection should be passed by reference to avoid double free 2020-11-05 09:52:24 +01:00
Mark Spanbroek 7dca48fffb Make congestion notification optional in the API 2020-11-05 09:52:24 +01:00
Mark Spanbroek ee9e7d9c27 Open uni-directional stream 2020-11-05 09:52:24 +01:00
Mark Spanbroek 621f3086ee improve test descriptions 2020-10-13 08:49:39 +02:00
Mark Spanbroek b889e029ed Update status in Readme 2020-10-13 08:49:39 +02:00
Mark Spanbroek 7c88a40612 Raise IOError when server connection can not be created 2020-10-13 08:49:39 +02:00
Mark Spanbroek e0ab0fee82 Rename: testNgtcp2 -> testTransportParameters 2020-10-13 08:49:39 +02:00
Mark Spanbroek d5d2319b70 Raise IOError when reading datagram fails 2020-10-13 08:49:39 +02:00
Mark Spanbroek 76f3a94aed Raise IOError when things go wrong with transport parameters 2020-10-13 08:49:39 +02:00
Mark Spanbroek cadab049e5 Replace assert with doAssert for return value checks
Only for those cases where a non-zero return value indicates a
programmer error.
2020-10-13 08:49:39 +02:00
Mark Spanbroek a5f5e39cae Implement new connection id callback using randomConnectionId() 2020-10-12 16:18:10 +02:00
Mark Spanbroek 0fa6790520 Rename: connectionId() -> toCid() 2020-10-12 16:18:10 +02:00
Mark Spanbroek 0f5e788a9c Use ConnectionId instead of ngtcp2_cid for generating random id 2020-10-12 16:18:10 +02:00
Mark Spanbroek 79ed2515db Move ConnectionId one level up 2020-10-12 16:18:10 +02:00
Mark Spanbroek 4fca6e0c5f Remove dead code 2020-10-12 16:18:10 +02:00
Mark Spanbroek ca8ad04af0 Remove ngtcp2_path from public API 2020-10-12 16:18:10 +02:00
Mark Spanbroek aa544f7369 Fix: ensure that setting socketaddress family works on macOS
On macOS sa_family is uint8.
2020-10-12 16:18:10 +02:00
Mark Spanbroek a69e5a16a8 Update to newer version of nim-ngtcp2
It no longer has the SocketAddress object, but uses the objects
from nativesockets instead.
2020-10-12 16:18:10 +02:00
Mark Spanbroek 1b971bb3a9 Add dependency on Chronos 2020-10-12 16:18:10 +02:00
Mark Spanbroek 5209a18476 Remove ngtcp_pkt_info from public API
Replaced by type ExplicitCongestionNotification (ECN).
2020-10-12 16:18:10 +02:00
Mark Spanbroek ee2e02f7be Promote Connection from test helper to public API 2020-10-12 16:18:10 +02:00
Mark Spanbroek 366c00c900 Cleanup: create random ids inside of the setup procs 2020-10-08 14:31:15 +02:00
Mark Spanbroek ed2662eb0c Cleanup: add path to Connection object 2020-10-08 14:31:15 +02:00
Mark Spanbroek 57d113999b Cleanup: simplify test 2020-10-08 14:31:15 +02:00
Mark Spanbroek 9ca3fa3e8d Cleanup: introduce Connection.isHandshakeCompleted 2020-10-08 14:31:15 +02:00
Mark Spanbroek 2ed74d0709 Cleanup: introduce Connection object to ensure cleanup 2020-10-08 14:31:15 +02:00
Mark Spanbroek 5bc4c8442a Cleanup: extract datagram reading and writing procs 2020-10-08 14:31:15 +02:00
Mark Spanbroek 3e79774af1 Cleanup: rename packet -> datagram
This is more in line with QUIC terminology,
where a UDP datagram can contain multiple QUIC packets.
2020-10-08 14:31:15 +02:00
Mark Spanbroek c0f843a6b5 Cleanup: extraction of ids from datagram moves to separate proc 2020-10-08 14:31:15 +02:00
Mark Spanbroek fc50ef8e13 Cleanup: extract proc that handles incoming crypto data 2020-10-08 14:31:15 +02:00
Mark Spanbroek f450408d1c Cleanup: remove workaround for random destination id
Communicate (random) original destination id through transport
parameters instead of using a global variable.
2020-10-08 14:31:15 +02:00