Documentation ¶
Overview ¶
Package net implements DTLS specific networking primitives. NOTE: this package is an adaption of pion/transport/packetio that allows for storing a remote address alongside each packet in the buffer and implements relevant methods of net.PacketConn. If possible, the updates made in this repository will be reflected back upstream. If not, it is likely that this will be moved to a public package in this repository.
This package was migrated from pion/transport/packetio at https://github.com/pion/transport/commit/6890c795c807a617c054149eee40a69d7fdfbfdb
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrTimeout = errors.New("buffer: i/o timeout")
ErrTimeout indicates that deadline was reached before operation could be completed.
Functions ¶
This section is empty.
Types ¶
type AddrPacket ¶
type AddrPacket struct {
// contains filtered or unexported fields
}
AddrPacket is a packet payload and the associated remote address from which it was received.
type PacketBuffer ¶
type PacketBuffer struct {
// contains filtered or unexported fields
}
PacketBuffer is a circular buffer for network packets. Each slot in the buffer contains the remote address from which the packet was received, as well as the packet data.
func NewPacketBuffer ¶
func NewPacketBuffer() *PacketBuffer
NewPacketBuffer creates a new PacketBuffer.
func (*PacketBuffer) Close ¶
func (b *PacketBuffer) Close() (err error)
Close closes the buffer, allowing unread packets to be read, but erroring on any new writes.
func (*PacketBuffer) ReadFrom ¶
ReadFrom reads a single packet from the buffer, or blocks until one is available.
func (*PacketBuffer) SetReadDeadline ¶
func (b *PacketBuffer) SetReadDeadline(t time.Time) error
SetReadDeadline sets the read deadline for the buffer.