Commit Graph

  • edaffcfcf6 Rename: sendLoop() -> networkLoop() Mark Spanbroek 2020-11-03 16:47:03 +01:00
  • 80a612ea11 Rename: waitForHandshake() -> handshake() Mark Spanbroek 2020-11-03 16:45:06 +01:00
  • 7af5c5376e Update max offset when receiving data Mark Spanbroek 2020-11-03 14:17:35 +01:00
  • f0c6a99a6a Fix random test failure because of dangling connection pointer Mark Spanbroek 2020-11-03 09:54:30 +01:00
  • 55e6800ee7 Rename: Connection.write() -> Connection.send() Mark Spanbroek 2020-11-02 18:04:46 +01:00
  • 805fefe50c Rename: Connection.read() -> Connection.receive() Mark Spanbroek 2020-11-02 18:00:54 +01:00
  • 38433d723f Introduce flow control, which allows async handshake completion Mark Spanbroek 2020-11-02 17:32:00 +01:00
  • 21f4f995d7 Write to stream results in datagram added to outgoing queue Mark Spanbroek 2020-11-02 15:28:57 +01:00
  • dfecdc9294 Replace outgoing seq with an AsyncQueue Mark Spanbroek 2020-11-02 15:24:46 +01:00
  • 6a54952c8b Introduce sequence of outgoing datagrams Mark Spanbroek 2020-11-02 14:56:28 +01:00
  • ddd874b6d1 Support reading and writing of zero-length seqs Mark Spanbroek 2020-10-29 10:51:06 +01:00
  • cfa6df32c0 Add Datagram.len Mark Spanbroek 2020-10-29 10:36:01 +01:00
  • 74dc38d01c Combine data and explicit congestion notification into Datagram object Mark Spanbroek 2020-10-29 10:33:15 +01:00
  • 783a6c0000 Rename: Datagram -> DatagramBuffer Mark Spanbroek 2020-10-29 10:01:48 +01:00
  • 8d5dacdf61 Introduce buffer at connection level Mark Spanbroek 2020-10-29 09:55:52 +01:00
  • f352c6d88c Close stream Mark Spanbroek 2020-10-28 14:25:26 +01:00
  • 05b6e58028 Write to stream Mark Spanbroek 2020-10-28 14:04:22 +01:00
  • a23f257b14 Use the 'std' prefix for standard library imports Mark Spanbroek 2020-10-28 13:51:59 +01:00
  • d390d3660f Move datagram one level up Mark Spanbroek 2020-10-28 13:41:32 +01:00
  • e03ba54b00 Provide correct path when writing to datagram Mark Spanbroek 2020-10-27 12:04:15 +01:00
  • 84b0e60a4b Remove erroneous udp write loop, increase test coverage Mark Spanbroek 2020-10-27 11:34:18 +01:00
  • 5e1ba19763 Move stream tests into separate file Mark Spanbroek 2020-10-27 08:59:33 +01:00
  • 2709281696 Move test helpers performHandshake() and zeroAddress into separate files Mark Spanbroek 2020-10-27 08:55:07 +01:00
  • c1d8950ba3 Remove duplication in test Mark Spanbroek 2020-10-27 08:45:55 +01:00
  • dece29fdfa Fix: Connection should be passed by reference to avoid double free Mark Spanbroek 2020-10-13 15:36:00 +02:00
  • 7dca48fffb Make congestion notification optional in the API Mark Spanbroek 2020-10-13 15:35:00 +02:00
  • ee9e7d9c27 Open uni-directional stream Mark Spanbroek 2020-10-13 10:46:53 +02:00
  • 621f3086ee improve test descriptions Mark Spanbroek 2020-10-12 17:14:55 +02:00
  • b889e029ed Update status in Readme Mark Spanbroek 2020-10-12 16:27:32 +02:00
  • 7c88a40612 Raise IOError when server connection can not be created Mark Spanbroek 2020-10-12 16:17:16 +02:00
  • e0ab0fee82 Rename: testNgtcp2 -> testTransportParameters Mark Spanbroek 2020-10-12 16:06:04 +02:00
  • d5d2319b70 Raise IOError when reading datagram fails Mark Spanbroek 2020-10-12 16:04:58 +02:00
  • 76f3a94aed Raise IOError when things go wrong with transport parameters Mark Spanbroek 2020-10-12 15:18:08 +02:00
  • cadab049e5 Replace assert with doAssert for return value checks Mark Spanbroek 2020-10-12 15:16:42 +02:00
  • a5f5e39cae Implement new connection id callback using randomConnectionId() Mark Spanbroek 2020-10-12 11:05:05 +02:00
  • 0fa6790520 Rename: connectionId() -> toCid() Mark Spanbroek 2020-10-12 10:58:53 +02:00
  • 0f5e788a9c Use ConnectionId instead of ngtcp2_cid for generating random id Mark Spanbroek 2020-10-12 10:57:20 +02:00
  • 79ed2515db Move ConnectionId one level up Mark Spanbroek 2020-10-12 10:34:56 +02:00
  • 4fca6e0c5f Remove dead code Mark Spanbroek 2020-10-12 10:33:09 +02:00
  • ca8ad04af0 Remove ngtcp2_path from public API Mark Spanbroek 2020-10-12 10:13:20 +02:00
  • aa544f7369 Fix: ensure that setting socketaddress family works on macOS Mark Spanbroek 2020-10-08 16:59:03 +02:00
  • a69e5a16a8 Update to newer version of nim-ngtcp2 Mark Spanbroek 2020-10-07 16:41:45 +02:00
  • 1b971bb3a9 Add dependency on Chronos Mark Spanbroek 2020-10-07 15:16:25 +02:00
  • 5209a18476 Remove ngtcp_pkt_info from public API Mark Spanbroek 2020-10-07 15:03:14 +02:00
  • ee2e02f7be Promote Connection from test helper to public API Mark Spanbroek 2020-10-07 14:31:53 +02:00
  • 366c00c900 Cleanup: create random ids inside of the setup procs Mark Spanbroek 2020-10-07 13:55:47 +02:00
  • ed2662eb0c Cleanup: add path to Connection object Mark Spanbroek 2020-10-07 11:45:19 +02:00
  • 57d113999b Cleanup: simplify test Mark Spanbroek 2020-10-07 11:37:13 +02:00
  • 9ca3fa3e8d Cleanup: introduce Connection.isHandshakeCompleted Mark Spanbroek 2020-10-07 11:33:30 +02:00
  • 2ed74d0709 Cleanup: introduce Connection object to ensure cleanup Mark Spanbroek 2020-10-07 11:27:58 +02:00
  • 5bc4c8442a Cleanup: extract datagram reading and writing procs Mark Spanbroek 2020-10-07 11:04:04 +02:00
  • 3e79774af1 Cleanup: rename packet -> datagram Mark Spanbroek 2020-10-07 10:34:06 +02:00
  • c0f843a6b5 Cleanup: extraction of ids from datagram moves to separate proc Mark Spanbroek 2020-10-07 10:32:11 +02:00
  • fc50ef8e13 Cleanup: extract proc that handles incoming crypto data Mark Spanbroek 2020-10-07 10:14:27 +02:00
  • f450408d1c Cleanup: remove workaround for random destination id Mark Spanbroek 2020-10-07 10:06:13 +02:00
  • 1ab050ee72 Cleanup: setup parameters are passed by value Mark Spanbroek 2020-10-07 09:38:33 +02:00
  • 81cfe64137 Communicate transport parameters via encrypted payload Mark Spanbroek 2020-10-06 12:00:59 +02:00
  • 20d3b009dc Cleanup: simplify Mark Spanbroek 2020-10-05 17:05:55 +02:00
  • b5601fe076 Cleanup: remove fake AEAD overhead for encryption Mark Spanbroek 2020-10-05 17:05:05 +02:00
  • 4fccf3a9d0 Cleanup: remove unnecessary callbacks Mark Spanbroek 2020-10-05 17:02:13 +02:00
  • 27f33188fa Cleanup: extract procs to install keys for 0-RTT, handshake and 1-RTT Mark Spanbroek 2020-10-05 16:59:52 +02:00
  • f0f136c271 Cleanup: remove unnecessary retry logic Mark Spanbroek 2020-10-05 16:39:25 +02:00
  • 35d1220777 Cleanup: install 1-RTT keys for client at the right moment Mark Spanbroek 2020-10-05 16:37:45 +02:00
  • c01fd25764 Cleanup: remove unnecessary callbacks from server Mark Spanbroek 2020-10-05 16:30:22 +02:00
  • 9db83e629a Cleanup: install 1-RTT keys for server at the right moment Mark Spanbroek 2020-10-05 16:27:40 +02:00
  • 8c135eae81 Cleanup: install initial key for server at the right moment Mark Spanbroek 2020-10-05 16:19:13 +02:00
  • 4bdd74d9b6 Cleanup: remove unneccessary early key Mark Spanbroek 2020-10-05 16:18:16 +02:00
  • f4a116a25b Cleanup: install handshake keys for server at the right moment Mark Spanbroek 2020-10-05 16:16:23 +02:00
  • 8e1a5ede7c Cleanup: install handshake keys for client at the right moment Mark Spanbroek 2020-10-05 16:14:27 +02:00
  • a3cc283abf Cleanup: Install initial key for client at the right moment Mark Spanbroek 2020-10-05 16:12:40 +02:00
  • 85631ba47c Cleanup: remove debug output from callbacks Mark Spanbroek 2020-10-05 16:02:34 +02:00
  • 840eb7d8ff Cleanup: use Key type in server setup Mark Spanbroek 2020-10-05 15:59:57 +02:00
  • fae113f9b4 Cleanup: simplify Mark Spanbroek 2020-10-05 15:06:22 +02:00
  • fba55457c8 Cleanup: remove unnecessary path setup Mark Spanbroek 2020-10-05 14:38:45 +02:00
  • c6e329dcee Cleanup: consolidate various types into type "Key" Mark Spanbroek 2020-10-05 14:25:44 +02:00
  • 542d5acd79 Cleanup: remove unnecessary settings Mark Spanbroek 2020-10-05 14:21:08 +02:00
  • 0fe6bbe665 Complete handshake Mark Spanbroek 2020-10-05 13:50:02 +02:00
  • ceebcbd690 Provide larger buffer (for CRYPTO frames) Mark Spanbroek 2020-10-05 13:48:03 +02:00
  • 0aae5aaa4d Set client handshake keys Mark Spanbroek 2020-10-05 13:02:32 +02:00
  • c8b333d72b Install rx and tx keys at the appropriate moment Mark Spanbroek 2020-10-05 10:38:50 +02:00
  • 32ace45629 Ensure that various fake key material uses separate memory locations Mark Spanbroek 2020-10-01 17:48:06 +02:00
  • af58d18401 Fake transport settings being exchanged via TLS Mark Spanbroek 2020-10-01 15:41:40 +02:00
  • 7ea33ce19d Move client and server settings into separate file Mark Spanbroek 2020-10-01 15:40:20 +02:00
  • 89eb18d3b4 Use our own code to parse and echo the first packet from ngtcp2 Mark Spanbroek 2020-09-30 17:44:53 +02:00
  • fbd8fde818 Fix indentation Mark Spanbroek 2020-09-17 19:47:39 +02:00
  • 1b5f5c8a25 check initial packet Mark Spanbroek 2020-09-16 14:24:08 +02:00
  • 0296d4a1c7 Set different IP addresses and ports for client and server Mark Spanbroek 2020-09-16 14:23:54 +02:00
  • d7c5628131 Signal handshake complete Mark Spanbroek 2020-09-16 14:23:18 +02:00
  • 8911311b2d Supply more crypto data Mark Spanbroek 2020-09-16 14:23:02 +02:00
  • 3f9d9050df Add AEAD overhead Mark Spanbroek 2020-09-16 14:22:21 +02:00
  • bd32d3ecd9 Correct connection id exchange Mark Spanbroek 2020-09-16 14:19:58 +02:00
  • a73536c10f Add monotonic clock for packet timestamps Mark Spanbroek 2020-09-16 14:21:10 +02:00
  • aae030c634 Use fake header protection mask Mark Spanbroek 2020-09-15 13:16:33 +02:00
  • cd8b40a47a Use matching client and server connection ids Mark Spanbroek 2020-09-15 13:15:24 +02:00
  • 75e9c53422 Fix: initialize server with ngtcp2_conn_server_new Mark Spanbroek 2020-09-15 13:13:40 +02:00
  • 79eca562f8 Remove faulty dummyPath() Mark Spanbroek 2020-09-15 13:13:09 +02:00
  • b0cd50b5df Add logging Mark Spanbroek 2020-09-15 13:11:15 +02:00
  • d1c665fedb Add test that sets up a client and a server connection Mark Spanbroek 2020-09-10 17:36:53 +02:00
  • 8ee30f1e8c Simplify proc parameters Mark Spanbroek 2020-10-01 17:14:08 +02:00
  • 6fc8545556 Fix: version negotiation packets contain a list of supported versions Mark Spanbroek 2020-10-01 17:13:25 +02:00