buffer

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Dec 30, 2025 License: 0BSD Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StreamIDMax   = 0x3fff // 16383
	MaxChunkLen   = 16 * 1024
	MaxDataLen    = 457 // MDU - 2 - 6 (2 for stream header, 6 for channel envelope)
	CompressTries = 4

	// Stream header flags
	StreamHeaderEOF        = 0x8000
	StreamHeaderCompressed = 0x4000

	// Message type
	StreamDataMessageType = 0x01

	// Header size
	StreamHeaderSize = 2

	// Compression threshold
	CompressThreshold = 32
)

Variables

This section is empty.

Functions

func CreateBidirectionalBuffer

func CreateBidirectionalBuffer(receiveStreamID, sendStreamID int, ch *channel.Channel, readyCallback func(int)) *bufio.ReadWriter

func CreateReader

func CreateReader(streamID int, ch *channel.Channel, readyCallback func(int)) *bufio.Reader

func CreateWriter

func CreateWriter(streamID int, ch *channel.Channel) *bufio.Writer

Types

type Buffer

type Buffer struct {
	ReadWriter *bufio.ReadWriter
}

func (*Buffer) Close

func (b *Buffer) Close() error

func (*Buffer) Read

func (b *Buffer) Read(p []byte) (n int, err error)

func (*Buffer) Write

func (b *Buffer) Write(p []byte) (n int, err error)

type RawChannelReader

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

func NewRawChannelReader

func NewRawChannelReader(streamID int, ch *channel.Channel) *RawChannelReader

func (*RawChannelReader) AddReadyCallback

func (r *RawChannelReader) AddReadyCallback(cb func(int)) int

func (*RawChannelReader) HandleMessage

func (r *RawChannelReader) HandleMessage(msg channel.MessageBase) bool

func (*RawChannelReader) Read

func (r *RawChannelReader) Read(p []byte) (n int, err error)

func (*RawChannelReader) RemoveReadyCallback

func (r *RawChannelReader) RemoveReadyCallback(id int)

type RawChannelWriter

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

func NewRawChannelWriter

func NewRawChannelWriter(streamID int, ch *channel.Channel) *RawChannelWriter

func (*RawChannelWriter) Close

func (w *RawChannelWriter) Close() error

func (*RawChannelWriter) Write

func (w *RawChannelWriter) Write(p []byte) (n int, err error)

type StreamDataMessage

type StreamDataMessage struct {
	StreamID   uint16
	Data       []byte
	EOF        bool
	Compressed bool
}

func (*StreamDataMessage) GetType

func (m *StreamDataMessage) GetType() uint16

func (*StreamDataMessage) Pack

func (m *StreamDataMessage) Pack() ([]byte, error)

func (*StreamDataMessage) Unpack

func (m *StreamDataMessage) Unpack(data []byte) error

Jump to

Keyboard shortcuts

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