Marten Seemann
8cde4ab638
refactor how session tickets are sent
...
Previously, RunHandshake() would send the session tickets. Now, the
session initiates the sending of the session ticket. This simplifies the
setup a bit, and it will make it possible to include the RTT estimate in
the session ticket without accessing the RTTStats concurrently.
2020-02-10 17:42:09 +07:00
Marten Seemann
539097fc6e
return a quic.ConnectionState from Session.ConnectionState()
2020-01-30 09:21:09 +07:00
Marten Seemann
bc25840519
use 0.5-RTT data to open the control stream in the http3 server
2020-01-29 10:40:06 +07:00
Marten Seemann
e8cffacc77
Merge pull request #2321 from lucas-clemente/update-mockgen
...
update gomock to v1.4.0, simplify mock generation
2020-01-29 00:01:00 +07:00
Marten Seemann
a93e544c94
remove Session.Close()
...
Session.Close() sends a transport-level error code. Applications should
not be able to call this function, but use CloseWithError() instead.
2020-01-26 17:41:53 +07:00
Marten Seemann
4fa5cfdca9
simplify generation of mocks for internal types
2020-01-26 13:24:35 +07:00
Marten Seemann
c809166cab
update gomock, simplify script for generation mocks of private types
2020-01-26 12:53:41 +07:00
Marten Seemann
40a993e31c
check that the client doesn't switch back to 0-RTT after sending 1-RTT
2020-01-01 18:04:02 +04:00
Marten Seemann
c5f74595ca
receive 0-RTT sealers and openers from qtls when using 0-RTT
2019-12-30 18:39:21 +04:00
Marten Seemann
f7fd5d2848
drop Handshake keys as soon as the handshake completes (as a server)
2019-12-06 10:29:48 +07:00
Marten Seemann
f3e3def599
don't send application data probe packets before the handshake completes
2019-11-12 14:12:24 +07:00
Marten Seemann
9c3b553e47
change PTO to be per packet number space
2019-11-12 11:29:51 +07:00
Marten Seemann
416fe8364e
remove unused return value from session constructor
2019-10-27 15:35:34 +07:00
Marten Seemann
717e6d5c96
implement serving multiple connections at the same time
2019-09-05 13:10:26 +07:00
Marten Seemann
1d392b4276
retransmit frames instead of packets
2019-08-29 15:00:10 +07:00
Marten Seemann
5fa38a83fa
remove tracking of which packet is retransmission of which other packet
2019-08-26 14:38:37 +07:00
Marten Seemann
bb48c9b31a
pass the time a packet was received to the short header opener
...
This saves us one time.Now() syscall per received 1-RTT packet.
2019-08-11 13:33:02 +07:00
Marten Seemann
d5585628d8
remove unneeded return value of ReceivedPacketHandler.ReceivedPacket()
2019-08-05 06:55:26 +07:00
Marten Seemann
f150ed4d4e
rename sentPacketHandler functions to match the recovery draft
2019-07-25 17:10:47 -04:00
Marten Seemann
5a9c593463
rename the KeyPhase to KeyPhaseBit
2019-06-30 17:36:09 +07:00
Marten Seemann
b5764f22a2
save the max_ack_delay in the rttStats
2019-06-29 13:40:56 +07:00
Marten Seemann
73d5d83a1d
pass the largest acked 1-RTT packet number to the crypto setup
2019-06-27 07:42:19 +08:00
Marten Seemann
598628d05b
use separate opener interfaces for long and short header packets
2019-06-22 20:01:18 +08:00
Marten Seemann
b2d3ef691e
use separate sealer interfaces for long and short header packets
2019-06-22 20:01:18 +08:00
Marten Seemann
c503769bcd
use separate functions per encryption level to get sealers
2019-06-22 20:01:18 +08:00
Marten Seemann
d4d3f09ee3
use separate functions per encryption level to get openers
2019-06-22 20:01:18 +08:00
Marten Seemann
2b8cece60a
add a context to Session.Open{Uni}StreamSync
2019-06-22 19:37:21 +08:00
Marten Seemann
5550ba2c3b
add a context to Session.Accept{Uni}Stream
2019-06-22 19:37:11 +08:00
Marten Seemann
fcb0d6cfdc
record InSlowStart and InRecovery
2019-06-20 22:58:01 +08:00
Marten Seemann
22cbb344af
move the TransportState struct to the quictrace package
...
Prevents an import loop when passing the tracer to the ackhandler.
2019-06-20 22:58:01 +08:00
Marten Seemann
267d11ee66
add tracing for sent and received packets
2019-06-20 22:58:01 +08:00
Marten Seemann
743868159f
use a callback to pass handshake errors to the session
2019-05-31 18:35:37 +08:00
Marten Seemann
a4989c3d9c
drop Initial and Handshake keys when receiving the first 1-RTT ACK
2019-05-30 14:19:26 +08:00
Marten Seemann
4834962cbd
add a function to drop received packets of a certain encryption level
2019-05-30 14:19:11 +08:00
Marten Seemann
4d5b4fd790
add a function to drop sent packets of a certain encryption level
2019-05-30 13:47:16 +08:00
Marten Seemann
3e67c12d76
use PRR when deciding if we're congestion limited
2019-05-19 16:49:55 +02: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
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
537737935c
limit the ACK delay by max_ack_delay
2019-05-08 14:34:56 +09:00
Marten Seemann
4f6d0e651a
implement HTTP/3
2019-04-11 09:06:10 +09:00
Marten Seemann
09574a6653
expose the tls.ConnectionState
2019-03-31 23:56:24 +09:00
Marten Seemann
5e34cb1d71
run go generate ./...
2019-03-05 13:42:56 +09:00
Marten Seemann
f6642ff948
use separate packet number spaces for sending packets
...
Packet numbers now start at 0 for every packet number spaces.
Furthermore, an ACK frame now only acknowledges packets in the packet
number space it was sent in.
2019-02-11 20:13:05 +08:00
Marten Seemann
17f4ebad64
handle Retry packets in the session
2019-02-04 15:38:47 +08:00
Marten Seemann
bfbf0bca48
always queue window updates when data is being read
...
There's no need to have a separate call in the flow controller interface
for this.
2019-01-22 23:46:12 +07:00
Marten Seemann
a303ad9745
always send ACKs in the correct packet number space
2019-01-11 11:12:07 +07:00
Marten Seemann
5a68ba0a02
implement header encrytion and decryption for sealers and openers
2018-12-14 16:46:40 +06:30
Marten Seemann
67f923c736
return the Opener from the crypto setup
2018-12-14 16:46:40 +06:30
Marten Seemann
a80ca960e5
refactor initialization of the initial AEAD
2018-12-13 13:51:05 +06:30