fecio

package
v0.0.0-...-f7958da Latest Latest
Warning

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

Go to latest
Published: Dec 23, 2024 License: CC0-1.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MaxDataPacketsPerVector       = 20
	MaxRedundancyPacketsPerVector = 10
)

Variables

View Source
var BinaryEndian = binary.BigEndian
View Source
var (
	Logger logger.Logger = logger.Default().WithLevel(logger.LevelWarning)
)

Functions

This section is empty.

Types

type DataPacket

type DataPacket struct {
	PacketHeaders
	Subpackets []DataSubpacket
}

func (*DataPacket) Read

func (p *DataPacket) Read(msg []byte) (int, error)

func (*DataPacket) ReadPayloadFrom

func (p *DataPacket) ReadPayloadFrom(r io.Reader) (int64, error)

func (*DataPacket) Write

func (p *DataPacket) Write(buf []byte) (int, error)

type DataSubpacket

type DataSubpacket struct {
	DataSubpacketHeaders
	Payload []byte
}

type DataSubpacketHeaders

type DataSubpacketHeaders struct {
	Size uint16
}

type FECReader

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

func NewFECReader

func NewFECReader(
	r io.ReadCloser,
	allowReorder bool,
	maxPacketSize uint16,
	maxWindowSize uint32,
) (*FECReader, error)

func (*FECReader) Close

func (r *FECReader) Close() error

func (*FECReader) Read

func (r *FECReader) Read(
	p []byte,
) (int, error)

type FECWriter

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

func NewFECWriter

func NewFECWriter(
	w io.WriteCloser,
	cfgs []RedundancyConfiguration,
	accumulateTime time.Duration,
	maxPacketSize uint16,
	opts ...WriterOpt,
) (*FECWriter, error)

func (FECWriter) Close

func (w FECWriter) Close() error

func (FECWriter) MaxDataPacketsPerVector

func (w FECWriter) MaxDataPacketsPerVector() uint8

func (FECWriter) Write

func (w FECWriter) Write(
	msg []byte,
) (int, error)

func (FECWriter) WriteOOB

func (w FECWriter) WriteOOB(
	msg []byte,
) (int, error)

type Packet

type Packet interface {
	GetVectorID() uint32
	Parse([]byte) error
	VerifyChecksum() error
	Reset()
}

type PacketHeaders

type PacketHeaders struct {
	Magic      [4]byte
	CRC64      uint64
	VectorID   uint32
	InVectorID uint8
}

func (*PacketHeaders) GetVectorID

func (hdr *PacketHeaders) GetVectorID() uint32

type ParityPacket

type ParityPacket struct {
	ParityPacketHeaders
	ParityPayload []byte
}

func (*ParityPacket) Read

func (p *ParityPacket) Read(msg []byte) (int, error)

type ParityPacketHeaders

type ParityPacketHeaders struct {
	PacketHeaders
	RedundancyConfiguration
}

type RedundancyConfiguration

type RedundancyConfiguration struct {
	DataPackets       uint8
	RedundancyPackets uint8
}

type WriterOpt

type WriterOpt interface {
	// contains filtered or unexported methods
}

type WriterOptUnsafeNoCopy

type WriterOptUnsafeNoCopy bool

type WriterOpts

type WriterOpts []WriterOpt

Jump to

Keyboard shortcuts

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