diff --git a/interface.go b/interface.go index 19d38c74..e27a81d1 100644 --- a/interface.go +++ b/interface.go @@ -264,7 +264,8 @@ type Config struct { // ConnectionState records basic details about a QUIC connection type ConnectionState struct { - TLS handshake.ConnectionState + TLS handshake.ConnectionState + SupportsDatagrams bool } // A Listener for incoming QUIC connections diff --git a/session.go b/session.go index 384530d9..7fc28c0c 100644 --- a/session.go +++ b/session.go @@ -632,9 +632,14 @@ func (s *session) Context() context.Context { return s.ctx } +func (s *session) supportsDatagrams() bool { + return s.peerParams.MaxDatagramFrameSize != protocol.InvalidByteCount +} + func (s *session) ConnectionState() ConnectionState { return ConnectionState{ - TLS: s.cryptoStreamHandler.ConnectionState(), + TLS: s.cryptoStreamHandler.ConnectionState(), + SupportsDatagrams: s.supportsDatagrams(), } }