Versions in this module Expand all Collapse all v1 v1.0.1 Nov 1, 2019 v1.0.0 Nov 1, 2019 Changes in this version + var ErrDecryptionFailed = errors.New("decryption failed") + var ErrKeysDropped = errors.New("CryptoSetup: keys were already dropped") + var ErrOpenerNotYetAvailable = errors.New("CryptoSetup: opener at this encryption level not yet available") + func NewInitialAEAD(connID protocol.ConnectionID, pers protocol.Perspective) (LongHeaderSealer, LongHeaderOpener) + type CryptoSetup interface + ChangeConnectionID func(protocol.ConnectionID) + ConnectionState func() tls.ConnectionState + Get1RTTOpener func() (ShortHeaderOpener, error) + Get1RTTSealer func() (ShortHeaderSealer, error) + GetHandshakeOpener func() (LongHeaderOpener, error) + GetHandshakeSealer func() (LongHeaderSealer, error) + GetInitialOpener func() (LongHeaderOpener, error) + GetInitialSealer func() (LongHeaderSealer, error) + HandleMessage func([]byte, protocol.EncryptionLevel) bool + RunHandshake func() + SetLargest1RTTAcked func(protocol.PacketNumber) + func NewCryptoSetupClient(initialStream io.Writer, handshakeStream io.Writer, oneRTTStream io.Writer, ...) (CryptoSetup, <-chan struct{}) + func NewCryptoSetupServer(initialStream io.Writer, handshakeStream io.Writer, oneRTTStream io.Writer, ...) CryptoSetup + type LongHeaderOpener interface + Open func(dst, src []byte, pn protocol.PacketNumber, associatedData []byte) ([]byte, error) + type LongHeaderSealer interface + EncryptHeader func(sample []byte, firstByte *byte, pnBytes []byte) + Overhead func() int + Seal func(dst, src []byte, packetNumber protocol.PacketNumber, associatedData []byte) []byte + type ShortHeaderOpener interface + Open func(dst, src []byte, rcvTime time.Time, pn protocol.PacketNumber, ...) ([]byte, error) + type ShortHeaderSealer interface + KeyPhase func() protocol.KeyPhaseBit + type Token struct + IsRetryToken bool + OriginalDestConnectionID protocol.ConnectionID + RemoteAddr string + SentTime time.Time + type TokenGenerator struct + func NewTokenGenerator() (*TokenGenerator, error) + func (g *TokenGenerator) DecodeToken(encrypted []byte) (*Token, error) + func (g *TokenGenerator) NewRetryToken(raddr net.Addr, origConnID protocol.ConnectionID) ([]byte, error) + func (g *TokenGenerator) NewToken(raddr net.Addr) ([]byte, error) + type TransportParameters struct + AckDelayExponent uint8 + DisableMigration bool + IdleTimeout time.Duration + InitialMaxData protocol.ByteCount + InitialMaxStreamDataBidiLocal protocol.ByteCount + InitialMaxStreamDataBidiRemote protocol.ByteCount + InitialMaxStreamDataUni protocol.ByteCount + MaxAckDelay time.Duration + MaxBidiStreamNum protocol.StreamNum + MaxPacketSize protocol.ByteCount + MaxUniStreamNum protocol.StreamNum + OriginalConnectionID protocol.ConnectionID + StatelessResetToken *[16]byte + func (p *TransportParameters) Marshal() []byte + func (p *TransportParameters) String() string + func (p *TransportParameters) Unmarshal(data []byte, sentBy protocol.Perspective) error