Marten Seemann
03ee31d26b
make the log level env variable a string
2017-06-11 12:01:38 +02:00
Marten Seemann
7bad019ac2
order log levels ascending
...
Make the log level numbers more intuitive. Logging nothing is now log
level 0, debug logging is level 3.
2017-06-11 12:01:37 +02:00
Marten Seemann
9a55fe234f
Merge pull request #648 from lucas-clemente/internalize-utils
...
make utils an internal package
2017-06-11 11:54:49 +02:00
Marten Seemann
21553272e7
fix Codecov for the internal package
2017-06-11 11:33:10 +02:00
Lucas Clemente
1ae8ead6ae
Merge pull request #658 from lucas-clemente/fix-shlo
...
Fix unencrypted SHLO
2017-06-10 15:33:37 +02:00
Lucas Clemente
80f87e2fab
Fix formatting
2017-06-10 15:33:07 +02:00
Marten Seemann
c0b09c8646
make utils an internal package
2017-06-09 22:28:40 +02:00
Lucas Clemente
24d9ed2769
Merge pull request #660 from lucas-clemente/timeouts
...
Increase test timeouts
2017-06-09 19:12:44 +02:00
Lucas Clemente
e43b91f633
Fix encryption of stream data
...
This commit splits up handling of the crypto stream and the other streams in the framer, crypto setup, and the packer.
- Crypto stream data is handled separately and should never be sent unencrypted or FW-secure. Fixes #544 .
- Non-crypto stream data is only sent with FW encryption on the server and only with non-FW or FW encryption on the client. Fixes #611 .
The crypto stream is current excluded from flow control (#657 ), but that shouldn't be an issue in practice for now.
2017-06-09 19:12:10 +02:00
Lucas Clemente
4ea2ccd526
Improve STOP_WAITING detection in packet packer
2017-06-09 19:12:10 +02:00
Lucas Clemente
86b329d7da
Factor public header creation into a new function
2017-06-09 19:12:09 +02:00
Lucas Clemente
7c1ef9c340
Merge pull request #655 from lucas-clemente/mocks
...
Generate some mocks using gomock
2017-06-09 19:11:25 +02:00
Lucas Clemente
61c4faf4d1
Increase test timeouts
2017-06-09 16:56:14 +02:00
Lucas Clemente
c02f904479
Mock CPM everywhere using gomock
2017-06-09 12:38:07 +02:00
Lucas Clemente
d01f9880be
Use gomocked CPM in the flowcontrol tests
2017-06-09 12:20:36 +02:00
Lucas Clemente
8b6a662223
Move flow control mocks to a separate package
...
This allows the other mocks to be used in the FC tests.
2017-06-09 12:08:26 +02:00
Lucas Clemente
050358bbc5
Mock CPM in streams map using gomock
2017-06-09 11:58:09 +02:00
Marten Seemann
6d15a4a31a
Merge pull request #652 from lucas-clemente/accept-duplicate-packets
...
accept duplicate and delayed packets
2017-06-08 16:08:45 +02:00
Lucas Clemente
eeb2d8d821
Mock FlowControlManager using gomock
2017-06-08 16:06:31 +02:00
Marten Seemann
14fa2dc7dd
accept duplicate and delayed packets
...
We used to reject duplicate and packets with packet numbers lower than
the LeastUnacked we received in a STOP_WAITING frame, because we didn't
accept overlapping stream data. For all other frames, duplicates never
were an issue. Now that we accept overlapping stream data, there's no
need to reject those packets, in fact, processing a delayed packet will
be beneficial for performance.
2017-06-08 15:41:16 +02:00
Lucas Clemente
94843e1919
Merge pull request #651 from lucas-clemente/simplify-streams
...
Remove unnecessary error return value in newStream
2017-06-08 11:42:22 +02:00
Lucas Clemente
1311629830
Remove unnecessary error return value in newStream
2017-06-08 11:09:11 +02:00
Lucas Clemente
df230ca1e2
Merge pull request #650 from lucas-clemente/timer
...
Extract timer wrapper out of the session
2017-06-07 23:16:00 +02:00
Lucas Clemente
d62703fc15
Extract timer wrapper out of the session
2017-06-07 20:07:16 +02:00
Lucas Clemente
7d1f3c6282
Merge pull request #646 from lucas-clemente/simplify-session
...
Simplification and refactoring of the session
2017-06-07 13:32:30 +02:00
Lucas Clemente
bfc4f36c81
Remove duplicate code in session creation
2017-06-07 11:41:03 +02:00
Lucas Clemente
f2959aa74a
Simplify session closing
2017-06-07 11:41:03 +02:00
Marten Seemann
6be03b54d2
Merge pull request #645 from qdeconinck/fix-connection-stall-wuf-0
...
fix stalls when retransmitting connection-level Window Update Frames
2017-06-07 11:01:51 +02:00
Quentin De Coninck
48ed55a01d
fix stalls when retransmitting connection-level Window Update Frames
...
When a Window Update Frame with streamID 0 is lost, we want to know
the receive window when retransmitting the frame. However, the connection
flow controller is not in streamFlowController, leading to map access errors
and then connections stalls since the sender is stuck by the not-updated
receive window it previously received.
2017-06-07 10:38:36 +02:00
Marten Seemann
a5be7c6928
Merge pull request #643 from lucas-clemente/fix-640
...
fix race condition when handling the header stream fails in h2quic client
2017-06-07 10:19:08 +02:00
Marten Seemann
05d7bc91ef
fix race condition when handling the header stream fails in h2quic client
2017-06-06 17:08:00 +02:00
Lucas Clemente
500d9889f5
Merge pull request #637 from lucas-clemente/555-always-retransmit
...
Always send retransmissions, irrespective of congestion state
2017-06-06 14:35:44 +02:00
Lucas Clemente
e44298a9cc
Always send retransmissions, irrespective of congestion state
...
This should probably only apply to RTOs, but we currently don't have a signal to distinguish them in the queue.
2017-06-06 13:16:33 +02:00
Lucas Clemente
5321723ef1
Merge pull request #639 from lucas-clemente/improve-drop-tests
...
Improve drop test scopes
2017-06-06 13:16:05 +02:00
Lucas Clemente
f33e12831e
Improve drop test scopes
2017-06-06 11:45:18 +02:00
Lucas Clemente
67a5a1bda5
Merge pull request #635 from lucas-clemente/gosimple
...
Run gosimple on our tree
2017-06-06 09:49:37 +02:00
Lucas Clemente
4f93969101
Run gosimple on our tree
2017-06-06 09:33:46 +02:00
Marten Seemann
2f551a7cbe
Merge pull request #631 from lucas-clemente/fix-620
...
simplify the dialing logic in the h2quic client, fix mutex in roundtripper held to long
2017-06-06 09:12:37 +02:00
Marten Seemann
c122428cb6
simply the dialing in the h2quic client
...
Fixes #620 .
Dialing is now done lazily, when a request is executed.
2017-06-04 09:41:51 +02:00
Marten Seemann
c2a89e6b78
improve error message in the h2quic client
2017-06-03 17:41:17 +02:00
Marten Seemann
9054e5205f
don't pass the roundtripper to the h2quic client
2017-06-02 23:08:14 +02:00
Marten Seemann
4d26d8bbd0
Merge pull request #630 from lucas-clemente/fix-521
...
add a quic.Config option to set the handshake timeout
2017-06-02 18:42:19 +02:00
Marten Seemann
4c3d4960bb
privatize the h2quic client
2017-06-01 20:14:07 +02:00
Marten Seemann
37366ef882
add a handshake integration test for the handshake timeout
2017-06-01 20:08:07 +02:00
Marten Seemann
13a25a5ba5
use the correct error code for handshake timeouts
2017-06-01 20:02:57 +02:00
Marten Seemann
9040fd25e7
add a quic.Config option to set the handshake timeout
2017-06-01 19:47:28 +02:00
Marten Seemann
a025e89f03
Merge pull request #626 from lucas-clemente/fix-538
...
add tests measuring how many RTTs a handshake takes
2017-06-01 19:35:48 +02:00
Lucas Clemente
d7f7d234e7
Merge pull request #629 from twdkeule/add-multiple-drop-test
...
Added possibility to drop multiple packets in a row.
Fixes #575
2017-05-31 16:01:24 +02:00
Thomas De Keulenaer
0e0d62e809
Drop focus
2017-05-31 15:40:29 +02:00
Thomas De Keulenaer
a07eaac1fd
Added possibility to drop multiple packets in a row.
2017-05-29 12:15:02 +02:00