* Expose the QUIC version of a connection via connection state
* Update interface.go
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
* Finish rename
* gofmt
* Use public type for version number
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
There's no point in having the timer fire multiple times for the same
timestamp. By using a monotonuos timer we avoid busy-looping in cases where the
timer fires, but we can't actually send a packet.
* Add support for providing a custom ConnectionID generator via Config
This work makes it possible for servers or clients to control how
ConnectionIDs are generated, which in turn will force peers in the
connection to use those ConnectionIDs as destination connection IDs when sending packets.
This is useful for scenarios where we want to perform some kind
selection on the QUIC packets at the L4 level.
* add more doc
* refactor populate config to not use provided config
* add an integration test for custom connection ID generators
* fix linter warnings
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
* fix: datagram support detection
- treat zero MaxDatagramFrameSize as unsupported.
- avoid send corresponding transport parameters when support is disabled
- report error when calling Send/ReceiveMessage and support is disabled
see https://github.com/lucas-clemente/quic-go/issues/3505
* patch: always initiate datagram
* fix: remove useless nil check