ohio_ring_buffer

package
v0.0.0-...-1c9a7a8 Latest Latest
Warning

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

Go to latest
Published: Nov 15, 2023 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const RingBufferDefaultSize = 4096

Variables

This section is empty.

Functions

This section is empty.

Types

type FindFunc

type FindFunc func(rs RingSlice) (offset, length int, partial bool)

rs is the data to search. Negative offset means not found. 0 or positive offset means found at that index. Partial means the sequence is not complete.

func FindBoundary

func FindBoundary(boundary []byte) FindFunc

type RingBuffer

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

func MakeRingBuffer

func MakeRingBuffer(n int) *RingBuffer

func (*RingBuffer) Cap

func (rb *RingBuffer) Cap() int

func (*RingBuffer) FillWith

func (rb *RingBuffer) FillWith(r io.Reader) (n int, err error)

func (*RingBuffer) FindFromStartAndAdvance

func (rb *RingBuffer) FindFromStartAndAdvance(ff FindFunc) (length int, partial bool)

func (*RingBuffer) Len

func (rb *RingBuffer) Len() int

func (*RingBuffer) PeekReadable

func (rb *RingBuffer) PeekReadable() (rs RingSlice)

func (*RingBuffer) PeekWriteable

func (rb *RingBuffer) PeekWriteable() (rs RingSlice)

func (*RingBuffer) Read

func (rb *RingBuffer) Read(p []byte) (n int, err error)

func (*RingBuffer) Reset

func (rb *RingBuffer) Reset()

func (*RingBuffer) Write

func (rb *RingBuffer) Write(p []byte) (n int, err error)

type RingSlice

type RingSlice [2][]byte

func (RingSlice) FindAnywhere

func (rs RingSlice) FindAnywhere(ff FindFunc) (offset, length int, partial bool)

func (RingSlice) FindFromStart

func (rs RingSlice) FindFromStart(ff FindFunc) (length int, partial bool)

func (RingSlice) First

func (rs RingSlice) First() []byte

func (RingSlice) IsEmpty

func (rs RingSlice) IsEmpty() bool

func (RingSlice) Len

func (rs RingSlice) Len() int

func (RingSlice) Second

func (rs RingSlice) Second() []byte

func (RingSlice) String

func (rs RingSlice) String() string

Jump to

Keyboard shortcuts

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