agents

package
v0.0.0-...-514d240 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 14, 2018 License: AGPL-3.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ECNStatusNonECT ECNStatus = 0
	ECNStatusECT_1            = 1
	ECNStatusECT_0            = 2
	ECNStatusCE               = 3
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AckAgent

type AckAgent struct {
	BaseAgent
	DisableAcks         bool
	DisablePathResponse bool
}

func (*AckAgent) Run

func (a *AckAgent) Run(conn *Connection)

type Agent

type Agent interface {
	Name() string
	Init(name string, SCID ConnectionID)
	Run(conn *Connection)
	Stop()
	Join()
}

func GetDefaultAgents

func GetDefaultAgents() []Agent

type BaseAgent

type BaseAgent struct {
	Logger *log.Logger
	// contains filtered or unexported fields
}

func (*BaseAgent) Init

func (a *BaseAgent) Init(name string, SCID ConnectionID)

func (*BaseAgent) Join

func (a *BaseAgent) Join()

func (*BaseAgent) Name

func (a *BaseAgent) Name() string

func (*BaseAgent) Stop

func (a *BaseAgent) Stop()

type BufferAgent

type BufferAgent struct {
	BaseAgent
}

func (*BufferAgent) Run

func (a *BufferAgent) Run(conn *Connection)

type ClosingAgent

type ClosingAgent struct {
	BaseAgent
	QuicLayer    bool
	ErrorCode    uint16
	ReasonPhrase string
}

func (*ClosingAgent) Run

func (a *ClosingAgent) Run(conn *Connection)

type ConnectionAgents

type ConnectionAgents struct {
	// contains filtered or unexported fields
}

func AttachAgentsToConnection

func AttachAgentsToConnection(conn *Connection, agents ...Agent) *ConnectionAgents

func (*ConnectionAgents) Add

func (c *ConnectionAgents) Add(agent Agent)

func (*ConnectionAgents) CloseConnection

func (c *ConnectionAgents) CloseConnection(quicLayer bool, errorCode uint16, reasonPhrase string)

func (*ConnectionAgents) Get

func (c *ConnectionAgents) Get(name string) Agent

func (*ConnectionAgents) StopAll

func (c *ConnectionAgents) StopAll()

type ECNStatus

type ECNStatus int

type HandshakeAgent

type HandshakeAgent struct {
	BaseAgent
	TLSAgent        *TLSAgent
	SocketAgent     *SocketAgent
	HandshakeStatus broadcast.Broadcaster //type: HandshakeStatus
	// contains filtered or unexported fields
}

func (*HandshakeAgent) InitiateHandshake

func (a *HandshakeAgent) InitiateHandshake()

func (*HandshakeAgent) Run

func (a *HandshakeAgent) Run(conn *Connection)

type HandshakeStatus

type HandshakeStatus struct {
	Completed bool
	Packet
	Error error
}

func (HandshakeStatus) String

func (s HandshakeStatus) String() string

type ParsingAgent

type ParsingAgent struct {
	BaseAgent
	// contains filtered or unexported fields
}

func (*ParsingAgent) Run

func (a *ParsingAgent) Run(conn *Connection)

func (*ParsingAgent) SaveCleartextPacket

func (a *ParsingAgent) SaveCleartextPacket(cleartext []byte, unique unsafe.Pointer)

type RecoveryAgent

type RecoveryAgent struct {
	BaseAgent

	TimerValue time.Duration
	// contains filtered or unexported fields
}

func (*RecoveryAgent) ProcessAck

func (a *RecoveryAgent) ProcessAck(ack *AckFrame, space PNSpace) RetransmitBatch

func (*RecoveryAgent) RetransmitBatch

func (a *RecoveryAgent) RetransmitBatch(batch RetransmitBatch)

func (*RecoveryAgent) Run

func (a *RecoveryAgent) Run(conn *Connection)

type RetransmitBatch

type RetransmitBatch []RetransmittableFrames

func (RetransmitBatch) Len

func (a RetransmitBatch) Len() int

func (RetransmitBatch) Less

func (a RetransmitBatch) Less(i, j int) bool

func (RetransmitBatch) NFrames

func (a RetransmitBatch) NFrames() int

func (RetransmitBatch) Swap

func (a RetransmitBatch) Swap(i, j int)

type RetransmittableFrames

type RetransmittableFrames struct {
	Frames    []Frame
	Timestamp time.Time
	Level     EncryptionLevel
}

func NewRetransmittableFrames

func NewRetransmittableFrames(frames []Frame, level EncryptionLevel) *RetransmittableFrames

type SendingAgent

type SendingAgent struct {
	BaseAgent
	MTU uint16
}

func (*SendingAgent) Run

func (a *SendingAgent) Run(conn *Connection)

type SocketAgent

type SocketAgent struct {
	BaseAgent

	TotalDataReceived int
	DatagramsReceived int
	SocketStatus      broadcast.Broadcaster //type: err
	ECNStatus         broadcast.Broadcaster //type: ECNStatus
	// contains filtered or unexported fields
}

func (*SocketAgent) ConfigureECN

func (a *SocketAgent) ConfigureECN() error

func (*SocketAgent) Run

func (a *SocketAgent) Run(conn *Connection)

type TLSAgent

type TLSAgent struct {
	BaseAgent
	TLSStatus           broadcast.Broadcaster //type: TLSStatus
	DisableFrameSending bool
}

func (*TLSAgent) Run

func (a *TLSAgent) Run(conn *Connection)

type TLSStatus

type TLSStatus struct {
	Completed bool
	Packet
	Error error
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL