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)
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.
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |