Commit Graph

3520 Commits

Author SHA1 Message Date
Marten Seemann
ea33339d26 correct the bytes in flight when dropping crypto packets 2019-05-30 01:47:03 +08:00
Marten Seemann
5009f1cb19 Merge pull request #1925 from lucas-clemente/remove-getoropenstream
remove unused Session.GetOrOpenStream
2019-05-29 10:30:15 +01:00
Marten Seemann
ba8a122680 Merge pull request #1924 from lucas-clemente/stream-limit-logging
improve logging of stream limit frames
2019-05-29 10:29:28 +01:00
Marten Seemann
8094665d1e remove outdated comment in packet packer 2019-05-29 08:31:44 +01:00
Marten Seemann
2f4fc22be1 remove unused Session.GetOrOpenStream
This method was only needed for the gQUIC H2 mapping.
2019-05-28 17:35:50 +01:00
Marten Seemann
8c40c3f768 improve logging of STREAMS_BLOCKED frames 2019-05-28 15:56:02 +02:00
Marten Seemann
c8aa4f4d4a improve logging of MAX_STREAMS frames 2019-05-28 15:54:25 +02:00
Marten Seemann
27a226980c Merge pull request #1920 from lucas-clemente/insecure-client
add a flag to skip certificate verification to the example client
2019-05-21 17:57:45 +01:00
Marten Seemann
2cec64fb36 Merge pull request #1918 from lucas-clemente/http3-server-send-settings
open a control stream and send a SETTINGS frame as an H3 server
2019-05-21 17:57:03 +01:00
Marten Seemann
c178613025 Merge pull request #1919 from lucas-clemente/dynamic-endpoint
add an HTTP endpoint to output arbitrary length data to example server
2019-05-21 17:56:49 +01:00
Marten Seemann
f2289c8903 add a flag to skip certificate verification to the example client 2019-05-21 15:43:08 +01:00
Marten Seemann
3e9ffe9e28 add an HTTP endpoint to output arbitrary length data to example server 2019-05-21 15:38:50 +01:00
Marten Seemann
1bf489b7af open a control stream and send a SETTINGS frame as an H3 server 2019-05-21 15:28:38 +01:00
Marten Seemann
9eb5777bbb Merge pull request #1916 from lucas-clemente/no-prr
add a flag to turn off PRR
2019-05-21 12:04:44 +01:00
Marten Seemann
91a57f72b7 Merge pull request #1914 from lucas-clemente/h3-alpn
make sure the TLS config contains the H3 ALPN token in server and client
2019-05-21 11:57:00 +01:00
Marten Seemann
0e85f8e6b2 Merge pull request #1911 from lucas-clemente/log-sent-ack-frame
fix logging of sent ACK frames
2019-05-21 11:54:11 +01:00
Marten Seemann
fd33eb319f add a flag to turn off PRR 2019-05-21 10:57:55 +01:00
Marten Seemann
afa4615c4d make sure the TLS config contains the H3 ALPN token in server and client 2019-05-20 17:55:59 +01:00
Marten Seemann
555737bbc2 fix logging of sent ACK frames 2019-05-20 15:51:58 +01:00
Marten Seemann
8afed81c49 Merge pull request #1907 from lucas-clemente/can-send
use PRR when deciding if we're congestion limited
2019-05-20 08:44:33 +01:00
Marten Seemann
053b60e0de Merge pull request #1906 from lucas-clemente/use-reno
use Reno instead of Cubic
2019-05-20 08:42:17 +01:00
Marten Seemann
3e67c12d76 use PRR when deciding if we're congestion limited 2019-05-19 16:49:55 +02:00
Marten Seemann
fccdb1c558 use Reno instead of Cubic 2019-05-19 15:57:20 +02:00
Marten Seemann
42381ea6f2 Merge pull request #1903 from lucas-clemente/invalid-packet-number
introduce an invalid packet number to simplify ackhandler and congestion
2019-05-15 10:00:31 +03:00
Marten Seemann
400d93f986 Merge pull request #1904 from ironsteel/fix-path-parsing
http3/request: Fix URL parsing of leading double slashes after authority
2019-05-14 10:21:27 +03:00
Rangel Ivanov
de2c1f9cb8 http3/request: Fix URL parsing of leading double slashes after authority
Use url.ParseRequestURI instead of url.Parse.
Otherwise it will be interpreted as a path without a scheme
which will result in '//some_path' parsed as url.Host:somepath and empty
url.Path
2019-05-14 10:09:34 +03:00
Marten Seemann
e06961266c introduce an invalid packet number to simplify ackhandler and congestion 2019-05-14 06:41:13 +03:00
Marten Seemann
dca57baef6 Merge pull request #1901 from lucas-clemente/cleanup-send-algorithm
clean up the congestion interface
2019-05-13 16:10:17 +02:00
Marten Seemann
520696dd0d Merge pull request #1900 from lucas-clemente/http3-request-tests
add tests for the HTTP/3 request
2019-05-13 16:06:32 +02:00
Marten Seemann
7b564ebd87 Merge pull request #1899 from lucas-clemente/close-with-error-description
pass a string, not an error, to Session.CloseWithError
2019-05-13 15:38:23 +02:00
Marten Seemann
c869d51e52 remove unused SendAlgorithmWithDebugInfo from congestion package 2019-05-13 12:43:08 +02:00
Marten Seemann
56111f31ac add tests for the HTTP/3 request 2019-05-13 12:16:33 +02:00
Marten Seemann
448c49851b remove unused methods from the congestion interface 2019-05-13 12:11:29 +02:00
Marten Seemann
0a86224858 pass a string, not an error, to Session.CloseWithError 2019-05-13 08:04:24 +02:00
Marten Seemann
6cdc228ef6 Merge pull request #1896 from lucas-clemente/block-destroy-until-run-finished
wait until the run loop has finished when calling session.destroy()
2019-05-12 23:19:39 +08:00
Marten Seemann
369b9bc6d5 Merge pull request #1892 from lucas-clemente/max-ack-delay
send and receive the max_ack_delay, use it for RTT estimation and PTO calculation
2019-05-12 23:16:19 +08:00
Marten Seemann
606307afd1 Merge pull request #1893 from lucas-clemente/fix-http-server-eof-reading
fix reading of the EOF in the HTTP/3 server
2019-05-12 23:13:13 +08:00
Marten Seemann
a61fb6d064 Merge pull request #1895 from lucas-clemente/fix-server-close-deadlock
fix race condition when closing the server after a Read failed
2019-05-12 22:19:03 +08:00
Marten Seemann
eee3af0757 wait until the run loop has finished when calling session.destroy() 2019-05-10 10:07:39 +09:00
Marten Seemann
dc75123836 fix race condition when closing the server after a Read failed 2019-05-10 09:47:52 +09:00
Marten Seemann
7d701893a2 fix reading of the EOF in the HTTP/3 server
Read([]byte{}) returns immediately, whereas Read([]byte{0}) blocks until
the stream is actually closed. This make as difference if the STREAM
frame with the FIN is received after the HTTP handler returned.
2019-05-08 15:41:56 +09:00
Marten Seemann
4e6df9041d use the max_ack_delay when computing the PTO duration 2019-05-08 14:47:46 +09:00
Marten Seemann
537737935c limit the ACK delay by max_ack_delay 2019-05-08 14:34:56 +09:00
Marten Seemann
0e33f3c0da don't send an ACK delay time for Initial and Handshake ACKs 2019-05-08 14:30:17 +09:00
Marten Seemann
f981339bc0 ignore the delay field for ACKs sent in Initial and Handshake packets 2019-05-08 14:15:42 +09:00
Marten Seemann
6c27967c8a include the timer granularity in the advertised max_ack_delay 2019-05-08 13:26:08 +09:00
Marten Seemann
af8c03ebaf advertize the max_ack_delay in the transport parameters 2019-05-08 13:22:37 +09:00
Marten Seemann
4042a8258c simplify writing of varint transport parameters 2019-05-08 12:53:19 +09:00
Marten Seemann
f847c5422d implement parsing and writing of the max_ack_delay transport parameter 2019-05-08 12:43:29 +09:00
Marten Seemann
c135b4f1e3 Merge pull request #1887 from lucas-clemente/pack-max-size-packets
fix packing of maximum-size packets
2019-04-28 00:23:27 +09:00