packet

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Mar 14, 2022 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FreeSerializeBuffer

func FreeSerializeBuffer(buf gopacket.SerializeBuffer) (err error)

func NewSerializeBuffer

func NewSerializeBuffer() gopacket.SerializeBuffer

Types

type BufferData

type BufferData struct {
	Buf gopacket.SerializeBuffer
	Err error
}

type Limiter

type Limiter interface {
	// Take should block to make sure that the RPS is met.
	Take() time.Time
}

type Processor

type Processor interface {
	ProcessPacketData(data []byte, ci *gopacket.CaptureInfo) error
}

type ReadWriter

type ReadWriter interface {
	Reader
	Writer
}

func NewRateLimitReadWriter

func NewRateLimitReadWriter(delegate ReadWriter, limiter Limiter) ReadWriter

type Reader

type Reader interface {
	ReadPacketData() (data []byte, ci *gopacket.CaptureInfo, err error)
}

type Receiver

type Receiver interface {
	ReceivePackets(ctx context.Context) <-chan error
}

func NewReceiver

func NewReceiver(sr Reader, p Processor) Receiver

type Sender

type Sender interface {
	SendPackets(ctx context.Context, in <-chan *BufferData) (done <-chan interface{}, errc <-chan error)
}

func NewSender

func NewSender(w Writer) Sender

type Writer

type Writer interface {
	WritePacketData(pkt []byte) error
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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