Commit Graph

4730 Commits

Author SHA1 Message Date
Marten Seemann
19ab01c064 add an integration test that randomly sets tracers 2020-07-22 19:22:49 +07:00
Marten Seemann
5d5eb0f937 Merge pull request #2678 from lucas-clemente/fix-out-of-bounds-multiplexed-tracer
fix out-of-bounds read when creating a multiplexed tracer
2020-07-22 19:21:39 +07:00
Marten Seemann
8c27da9932 Merge pull request #2677 from lucas-clemente/integration-tests-with-qlog-and-metrics
run integration tests with qlog and metrics on CircleCI
2020-07-22 19:19:15 +07:00
Marten Seemann
c8255cbaf5 Merge pull request #2676 from lucas-clemente/conn-close-metric
add a metric for closed connections
2020-07-20 12:36:48 +07:00
Marten Seemann
bd2b4e3e71 fix out-of-bounds read when creating a multiplexed tracer 2020-07-20 12:16:48 +07:00
Marten Seemann
1c1c24545f run integration tests with qlog and metrics on CircleCI 2020-07-20 11:31:33 +07:00
Marten Seemann
8a21cf7489 add a metric for closed connections 2020-07-20 11:13:59 +07:00
Marten Seemann
4e4c71c1b9 Merge pull request #2675 from lucas-clemente/trace-non-conn-sent-packets
trace packets that are sent outside of a connection
2020-07-16 19:25:51 +07:00
Marten Seemann
0c551c893c trace packets that are sent outside of a connection 2020-07-16 08:20:36 +07:00
Marten Seemann
f10894a1ce Merge pull request #2670 from lucas-clemente/trace-dropped-packets
trace dropped packets that are dropped before they are passed to any session
2020-07-15 21:30:12 +07:00
Marten Seemann
48e15aed92 trace dropped packets in the packet handler map 2020-07-15 20:45:38 +07:00
Marten Seemann
2f63bc0731 pass a logging.Tracer to the packet handler map 2020-07-15 20:45:36 +07:00
Marten Seemann
dc245ca6a3 trace dropped packets in the server 2020-07-15 20:33:58 +07:00
Marten Seemann
0d4aa4b34f introduce a function receivedPacket.Size() 2020-07-15 19:30:10 +07:00
Marten Seemann
bff880b038 Merge pull request #2673 from lucas-clemente/trace-sent-packets
add a metric for sent packets
2020-07-15 19:28:20 +07:00
Marten Seemann
f5f6665a19 add a metric for sent packets 2020-07-15 18:49:32 +07:00
Marten Seemann
a5479374a0 Merge pull request #2672 from lucas-clemente/trace-lost-packets
add a metric for lost packets
2020-07-15 18:48:58 +07:00
Marten Seemann
60570dc3e5 add a metric for lost packets 2020-07-13 10:41:36 +07:00
Marten Seemann
15e1857f54 Merge pull request #2671 from lucas-clemente/simplify-tracer-interface
simplify the Tracer interface by combining the TracerFor... methods
2020-07-12 20:31:37 +07:00
Marten Seemann
ee24d3899e simplify the Tracer interface by combining the TracerFor... methods 2020-07-11 13:22:52 +07:00
Marten Seemann
ece3592544 Merge pull request #2646 from lucas-clemente/metrics
add a metrics package using OpenCensus, trace connections
2020-07-11 10:35:23 +07:00
Marten Seemann
50adf3a260 Merge pull request #2665 from lucas-clemente/logging-multiplexer
add a multiplexer for the tracer
2020-07-11 10:31:28 +07:00
Marten Seemann
c8d434305c add a multiplexer for the logging.Tracer 2020-07-11 09:48:26 +07:00
Marten Seemann
2d4eca1dd6 add a multiplexer for the logging.ConnectionTracer 2020-07-11 09:45:46 +07:00
Marten Seemann
f9eb10d942 add a metrics package using OpenCensus, trace connections 2020-07-11 09:39:36 +07:00
Marten Seemann
2f5cba0856 Merge pull request #2668 from lucas-clemente/stateless-reset-type
introduce a type for stateless reset tokens
2020-07-11 08:40:23 +07:00
Marten Seemann
a1bb39d6ab introduce a protocol.StatelessResetToken 2020-07-10 19:55:20 +07:00
Marten Seemann
a4679bc02e also pass the stateless reset token by value to the tracer 2020-07-10 19:48:53 +07:00
Marten Seemann
0ef1b2f92e pass around the stateless reset token directly, not pointers to it
Benchmarks show that it's actually faster to make a copy of this 16 byte
array than passing around a pointer to it.
2020-07-10 19:44:57 +07:00
Marten Seemann
1f676c2a6c use an errors.As comparison to detect stateless resets in the session 2020-07-10 19:43:54 +07:00
Marten Seemann
e7fa420e26 Merge pull request #2669 from lucas-clemente/better-close-reason
log all reasons why a connection is closed
2020-07-10 19:36:56 +07:00
Marten Seemann
f93708aca8 introduce a logging.CloseReason to log the reason a session was closed
This also allows us to get rid of the ReceivedStatelessReset() method.
2020-07-10 19:23:32 +07:00
Marten Seemann
7d6ce4ea45 rename the logging.CloseReason to TimeoutReason 2020-07-10 19:17:21 +07:00
Marten Seemann
53856bda60 Merge pull request #2663 from lucas-clemente/faulty-packet-conn-integration-test
add integration tests using faulty packet conns
2020-07-10 19:13:43 +07:00
Marten Seemann
1a0b642ac1 add integration tests using faulty packet conns 2020-07-10 18:27:41 +07:00
Marten Seemann
3dbba004f9 Merge pull request #2656 from ltucker/shutdown_deadlock
don't block sendQueue.Send() if the runloop already exited.
2020-07-10 18:26:43 +07:00
Marten Seemann
f16d474e7c Merge pull request #2664 from lucas-clemente/move-versions-out-of-the-header
move the SupportedVersions slice out of the wire.Header
2020-07-10 18:24:46 +07:00
Marten Seemann
8c66ccf0d6 Merge pull request #2660 from lucas-clemente/retire-bug-backwards-compatilibity-bug
add a flag to disable conn ID generation and the check for retired conn IDs
2020-07-10 18:22:04 +07:00
Marten Seemann
543f4791a1 Merge pull request #2667 from lucas-clemente/remove-unnecessary-client-packet-handler
put the session in the packet handler map directly (for client sessions)
2020-07-10 18:16:48 +07:00
Marten Seemann
76c854fbae Merge pull request #2666 from lucas-clemente/dont-send-write-errors
don't send write error in CONNECTION_CLOSE frames
2020-07-10 18:16:05 +07:00
Marten Seemann
fd5f555f36 put the session in the packet handler map directly (for client sessions) 2020-07-10 09:29:43 +07:00
Marten Seemann
61d8e111b1 don't send write error in CONNECTION_CLOSE frames 2020-07-09 18:09:20 +07:00
Marten Seemann
993d71fd56 move the SupportedVersions slice out of the wire.Header 2020-07-09 12:05:33 +07:00
Marten Seemann
ce5ddc050c add a flag to disable conn ID generation and the check for retired conn IDs 2020-07-09 10:40:56 +07:00
Luke Tucker
3c1e597858 don't block sendQueue.Send() if the runloop already exited.
This can lead to a deadlock where session.shutdown() never exits
because it is blocked on a Send() but the sendQueue has exited due to
a write error.
2020-07-08 09:41:22 -04:00
Marten Seemann
953f3472cf Merge pull request #2657 from lucas-clemente/fix-pto-count-on-dropping-packet-number-space
reset the PTO count before setting the timer when dropping a PN space
2020-07-08 15:38:38 +07:00
Marten Seemann
2def5abe6f Merge pull request #2651 from lucas-clemente/enforce-conn-id-retirement-packet-conn-id
enforce that a connection ID is not retired in a packet that uses that connection ID
2020-07-08 14:57:57 +07:00
Marten Seemann
33fc464bac use PROTOCOL_VIOLATION for invalid RETIRE_CONNECTION_ID frames 2020-07-08 12:24:15 +07:00
Marten Seemann
25db2166dd enforce that a conn ID is not retired in a packet that uses that conn ID 2020-07-08 12:06:57 +07:00
Marten Seemann
5227fef1a3 Merge pull request #2652 from lucas-clemente/fix-retiring-of-active-conn-id
don't retire the conn ID that's in use when receiving a retransmission
2020-07-08 12:05:15 +07:00