Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type Envelope ¶
type Envelope struct {
Data mem.BufferSlice
Flags uint8
// contains filtered or unexported fields
}
Envelope represents a block of arbitrary bytes wrapped in gRPC and Connect's framing protocol.
type EnvelopeReader ¶
type EnvelopeReader struct {
Ctx context.Context
Last Envelope
BufferPool mem.BufferPool
Reader io.Reader
BytesRead int64
Codec encoding.Codec
CompressionName string
CompressionPool *compress.CompressionPool
ReadMaxBytes int
}
EnvelopeReader is responsible for reading Envelope messages.
func (*EnvelopeReader) Read ¶
func (r *EnvelopeReader) Read(env *Envelope) error
Read reads an Envelope from the underlying reader.
func (*EnvelopeReader) Unmarshal ¶
func (r *EnvelopeReader) Unmarshal(message any) error
Unmarshal reads an Envelope, decompresses its data if necessary, and unmarshal it.
type EnvelopeWriter ¶
type EnvelopeWriter struct {
Ctx context.Context
Sender duplex.MessageSender
Codec encoding.Codec
CompressMinBytes int
CompressionName string
CompressionPool *compress.CompressionPool
BufferPool mem.BufferPool
SendMaxBytes int
}
EnvelopeWriter is responsible for writing Envelope messages.
func (*EnvelopeWriter) Marshal ¶
func (w *EnvelopeWriter) Marshal(message any) error
Marshal serializes a message and writes it as an Envelope.
func (*EnvelopeWriter) Write ¶
func (w *EnvelopeWriter) Write(env *Envelope) error
Write writes the enveloped message, compressing if necessary.
type WriteSender ¶
WriteSender is a sender that writes to an io.Writer. Useful for wrapping [http.ResponseWriter].
func (WriteSender) Send ¶
func (w WriteSender) Send(payload duplex.MessagePayload) (int64, error)
Click to show internal directories.
Click to hide internal directories.