package protocol

Import Path
	github.com/pion/dtls/v3/pkg/protocol (on go.dev)

Dependency Relation
	imports 3 packages, and imported by 8 packages

Involved Source Files application_data.go change_cipher_spec.go compression_method.go content.go errors.go Package protocol provides the DTLS wire format
Package-Level Type Names (total 12)
/* sort by: | */
ApplicationData messages are carried by the record layer and are fragmented, compressed, and encrypted based on the current connection state. The messages are treated as transparent data to the record layer. https://tools.ietf.org/html/rfc5246#section-10 Data []byte ContentType returns the ContentType of this content. Marshal encodes the ApplicationData to binary. Unmarshal populates the ApplicationData from binary. *ApplicationData : Content *ApplicationData : github.com/pion/rtcp.PacketStatusChunk *ApplicationData : github.com/gogo/protobuf/proto.Marshaler *ApplicationData : github.com/gogo/protobuf/proto.Unmarshaler *ApplicationData : github.com/golang/protobuf/proto.Marshaler *ApplicationData : github.com/golang/protobuf/proto.Unmarshaler
ChangeCipherSpec protocol exists to signal transitions in ciphering strategies. The protocol consists of a single message, which is encrypted and compressed under the current (not the pending) connection state. The message consists of a single byte of value 1. https://tools.ietf.org/html/rfc5246#section-7.1 ContentType returns the ContentType of this content. Marshal encodes the ChangeCipherSpec to binary. Unmarshal populates the ChangeCipherSpec from binary. *ChangeCipherSpec : Content *ChangeCipherSpec : github.com/pion/rtcp.PacketStatusChunk *ChangeCipherSpec : github.com/gogo/protobuf/proto.Marshaler *ChangeCipherSpec : github.com/gogo/protobuf/proto.Unmarshaler *ChangeCipherSpec : github.com/golang/protobuf/proto.Marshaler *ChangeCipherSpec : github.com/golang/protobuf/proto.Unmarshaler
CompressionMethod represents a TLS Compression Method. ID CompressionMethodID func CompressionMethods() map[CompressionMethodID]*CompressionMethod func DecodeCompressionMethods(buf []byte) ([]*CompressionMethod, error) func EncodeCompressionMethods(c []*CompressionMethod) []byte
CompressionMethodID is the ID for a CompressionMethod. func CompressionMethods() map[CompressionMethodID]*CompressionMethod
Content is the top level distinguisher for a DTLS Datagram. ( Content) ContentType() ContentType ( Content) Marshal() ([]byte, error) ( Content) Unmarshal(data []byte) error *ApplicationData *ChangeCipherSpec *github.com/pion/dtls/v3/pkg/protocol/alert.Alert *github.com/pion/dtls/v3/pkg/protocol/handshake.Handshake Content : github.com/pion/rtcp.PacketStatusChunk Content : github.com/gogo/protobuf/proto.Marshaler Content : github.com/gogo/protobuf/proto.Unmarshaler Content : github.com/golang/protobuf/proto.Marshaler Content : github.com/golang/protobuf/proto.Unmarshaler
ContentType represents the IANA Registered ContentTypes https://tools.ietf.org/html/rfc4346#section-6.2.1 func ApplicationData.ContentType() ContentType func ChangeCipherSpec.ContentType() ContentType func Content.ContentType() ContentType func github.com/pion/dtls/v3/pkg/protocol/alert.Alert.ContentType() ContentType func github.com/pion/dtls/v3/pkg/protocol/handshake.Handshake.ContentType() ContentType const ContentTypeAlert const ContentTypeApplicationData const ContentTypeChangeCipherSpec const ContentTypeConnectionID const ContentTypeHandshake
FatalError indicates that the DTLS connection is no longer available. It is mainly caused by wrong configuration of server or client. Err error (*FatalError) Error() string Temporary implements net.Error.Temporary(). Timeout implements net.Error.Timeout(). Unwrap implements Go1.13 error unwrapper. *FatalError : github.com/jbenet/go-temp-err-catcher.Temporary *FatalError : error *FatalError : golang.org/x/xerrors.Wrapper *FatalError : net.Error var github.com/pion/dtls/v3/pkg/protocol/extension.ErrALPNInvalidFormat *FatalError var github.com/pion/dtls/v3.ErrConnClosed *FatalError
HandshakeError indicates that the handshake failed. Err error (*HandshakeError) Error() string Temporary implements net.Error.Temporary(). Timeout implements net.Error.Timeout(). Unwrap implements Go1.13 error unwrapper. *HandshakeError : github.com/jbenet/go-temp-err-catcher.Temporary *HandshakeError : error *HandshakeError : golang.org/x/xerrors.Wrapper *HandshakeError : net.Error
InternalError indicates and internal error caused by the implementation, and the DTLS connection is no longer available. It is mainly caused by bugs or tried to use unimplemented features. Err error (*InternalError) Error() string Temporary implements net.Error.Temporary(). Timeout implements net.Error.Timeout(). Unwrap implements Go1.13 error unwrapper. *InternalError : github.com/jbenet/go-temp-err-catcher.Temporary *InternalError : error *InternalError : golang.org/x/xerrors.Wrapper *InternalError : net.Error
TemporaryError indicates that the DTLS connection is still available, but the request was failed temporary. Err error (*TemporaryError) Error() string Temporary implements net.Error.Temporary(). Timeout implements net.Error.Timeout(). Unwrap implements Go1.13 error unwrapper. *TemporaryError : github.com/jbenet/go-temp-err-catcher.Temporary *TemporaryError : error *TemporaryError : golang.org/x/xerrors.Wrapper *TemporaryError : net.Error var github.com/pion/dtls/v3/pkg/protocol/recordlayer.ErrInvalidPacketLength *TemporaryError
TimeoutError indicates that the request was timed out. Err error (*TimeoutError) Error() string Temporary implements net.Error.Temporary(). Timeout implements net.Error.Timeout(). Unwrap implements Go1.13 error unwrapper. *TimeoutError : github.com/jbenet/go-temp-err-catcher.Temporary *TimeoutError : error *TimeoutError : golang.org/x/xerrors.Wrapper *TimeoutError : net.Error
Version is the minor/major value in the RecordLayer and ClientHello/ServerHello https://tools.ietf.org/html/rfc4346#section-6.2.1 Major uint8 Minor uint8 Equal determines if two protocol versions are equal. func Version.Equal(x Version) bool var Version1_0 var Version1_2
Package-Level Functions (total 3)
CompressionMethods returns all supported CompressionMethods.
DecodeCompressionMethods the given compression methods.
EncodeCompressionMethods the given compression methods.
Package-Level Variables (total 2)
Version enums.
Version enums.
Package-Level Constants (total 5)
ContentType enums.
ContentType enums.
ContentType enums.
ContentType enums.
ContentType enums.