Benjamin Saunders
4ba31453ca
3*PTO lower-bound for idle timeout
2019-04-12 07:18:34 +02:00
Benjamin Saunders
4857ea9202
Don't prematurely deem handshake packets lost
...
This was a misunderstanding of the draft.
2019-04-12 07:18:34 +02:00
Benjamin Saunders
0dfa1fbb70
More conservative handshake key discard timer
...
Protects against connection loss due to severe packet loss following
handshake completion, which could occur because the client must elicit
and receive an ACK of its handshake CFIN message before the server
discards the handshake keys.
2019-04-09 10:11:47 -07:00
Benjamin Saunders
237084787e
Fix stateless reset routing
2019-04-09 10:11:47 -07:00
Benjamin Saunders
e0f4177167
ResetToken type
2019-04-09 10:11:47 -07:00
Benjamin Saunders
0631950b33
Preserve original error when converting to io::Error
2019-04-08 07:12:21 +02:00
Benjamin Saunders
0428c8693d
More consistent config filed naming
2019-04-08 07:12:21 +02:00
Benjamin Saunders
95b49ec0fe
Fail connection attempts without an endpoint driver immediately
2019-04-08 07:12:21 +02:00
Benjamin Saunders
6ec3b021cb
Move ClientConfig into quinn-proto
2019-04-08 07:12:21 +02:00
Benjamin Saunders
204c0786c8
Strengthen server_busy test
2019-04-08 07:12:21 +02:00
Benjamin Saunders
588cb74bff
Delete redundant test
...
This is subsumed by instant_close.
2019-04-08 07:12:21 +02:00
Benjamin Saunders
94a37e399e
Enable 0-RTT by default at TLS layer
...
Applications can still choose whether or not to send or process data
before a connection is established, so this was just an annoying
gotcha.
2019-04-08 07:12:21 +02:00
Benjamin Saunders
20c2770796
Update comment
2019-04-08 07:12:21 +02:00
Benjamin Saunders
b71ca0efb8
Expose per-Connection loggers
...
Helpful for debugging in highly concurrent environments
2019-04-08 07:12:21 +02:00
Benjamin Saunders
6b15147891
Graceful close in HTTP/0.9 client example
2019-04-07 00:34:15 -07:00
Benjamin Saunders
7fce27d84a
Ignore trailing garbage in HTTP/0.9 example server
2019-04-07 00:34:15 -07:00
Benjamin Saunders
35557794c8
More consistent/readable handling of handshake retransmit state
...
Doesn't correct any known bugs, but is slightly more precise and
accurate to the specified behavior.
2019-04-07 00:34:15 -07:00
Benjamin Saunders
3e61bba16a
Fix reordered data packets being incorrectly acknowledged
...
This lead the peer to believe we've processed data that we haven't,
causing all manner of inconsistent state.
2019-04-07 00:34:15 -07:00
Benjamin Saunders
94b3819c04
Remove DriverLost event in favor of stream termination
2019-04-06 13:32:49 -07:00
Benjamin Saunders
32ab3fe015
Improve behavior of Incoming and new connections after driver loss
2019-04-06 13:32:49 -07:00
Benjamin Saunders
ad6f15a266
Endpoint::close helper to close all connections
2019-04-06 13:32:49 -07:00
Benjamin Saunders
7541b5ef0f
Remove verbose error from test output
2019-04-06 13:32:49 -07:00
Benjamin Saunders
cc5bab3f69
Terminate connection driver when endpoint driver is lost
2019-04-06 13:32:49 -07:00
Benjamin Saunders
ab7e228f11
Fix local CID leak
2019-04-05 12:08:58 +02:00
Benjamin Saunders
818dadd671
Connection::close by reference
2019-04-05 12:08:58 +02:00
Benjamin Saunders
d5da7c0cdd
Improve robustness to non-monotonic Instant::now
...
It's unclear if Instant is monotonic when sampled across threads, and
we do not require Connections to remain on a single thread.
2019-04-05 12:08:58 +02:00
Benjamin Saunders
4e567f03ee
Update current timestamp on each driver loop iteration
...
Ensures a reasonable upper bound for error.
2019-04-05 12:08:58 +02:00
Benjamin Saunders
1f9a8fc337
Fix outdated comment
2019-04-05 12:08:58 +02:00
Dirkjan Ochtman
ec950055e5
Change code coverage command to make build job fail when appropriate
2019-04-05 01:04:45 -07:00
Артём Павлов [Artyom Pavlov]
e4f5a75867
if let cleanup
2019-04-05 08:50:04 +02:00
Benjamin Saunders
f6c1ef0786
Fix panics when a live connection's driver is dropped
2019-04-03 00:28:20 -07:00
Benjamin Saunders
36ac70434a
Don't implicitly close connections with streams being opened
...
Improves ergonomics when an application wishes to perform no
operations beyond opening and manipulating a fixed set of streams.
2019-04-03 00:28:20 -07:00
Benjamin Saunders
010c939984
Wake connection driver on close
...
Fixes potentially long delays in closing a connection
2019-04-03 00:28:20 -07:00
Benjamin Saunders
f6ac24d0b0
Clarify Space.loss_time semantics
2019-04-03 00:28:20 -07:00
Benjamin Saunders
6e9f88e32b
Correct loss timer precedence
...
This turned out to be a misreading of the draft.
2019-04-03 00:28:20 -07:00
Benjamin Saunders
c6be5333e0
Update rustls
...
Incorporates interop-relevant 0-RTT fixes, error reporting
improvements, and wireshark-compatible QUIC key logging.
2019-04-03 00:28:20 -07:00
Benjamin Saunders
856b2f570a
Update EndpointDriver documentation
2019-04-02 06:36:30 +02:00
Benjamin Saunders
55998727bf
Clean up tests
2019-04-02 06:36:30 +02:00
Benjamin Saunders
b3175da8a6
Fix race condition in connection/endpoint reference drop
...
Cleanup could have been missed if two references were dropped
simultaneously, leading to the Arc's reference count going directly
from 3 to 1
2019-04-02 06:36:30 +02:00
Benjamin Saunders
737ee208db
Fix panic when endpoint driver is dropped with live connections
2019-04-02 06:36:30 +02:00
Benjamin Saunders
21c9a98529
Wake up blocked futures on implicit close
2019-04-02 06:36:30 +02:00
Dirkjan Ochtman
5f93f96280
Further clarify implicit close semantics (see #250 )
2019-04-01 12:38:36 -07:00
Dirkjan Ochtman
7417838ea4
Inline fields from Pending type into ConnectionInner
2019-04-01 12:35:55 -07:00
Dirkjan Ochtman
0cf709114c
Log listening address in example server
2019-04-01 21:06:53 +02:00
Dirkjan Ochtman
aae9edecd4
Return new connections as tuples
2019-04-01 10:56:38 +02:00
Dirkjan Ochtman
c0c40891b4
Return driver as first member of endpoint tuple
2019-04-01 10:56:38 +02:00
Dirkjan Ochtman
fc964543e8
Rename Driver to EndpointDriver
2019-04-01 10:56:38 +02:00
Benjamin Saunders
e9b9a3861b
More robust handshake retransmits
...
Revists d36d015c , plus some missing parts
2019-03-31 06:47:44 +02:00
Benjamin Saunders
6a7b55f664
Per-packet-space loss_time tracking
2019-03-31 06:47:44 +02:00
Benjamin Saunders
309d438ac4
Style cleanup
2019-03-31 06:47:44 +02:00