proto

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Feb 7, 2021 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package proto provides a client that can be used on a *uds.Client or *uds.Conn to send streaming binary proto values. This package uses chunk underneath and therefore expects the other side to understand its data format.

This is for decoding a single proto message type.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

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

Client provides a wrapper around an *uds.Client or *uds.Server that can send and receive JSON messages.

func New

func New(rwc io.ReadWriteCloser, options ...Option) (*Client, error)

New is the constructor for Client. rwc must be a *uds.Client or *uds.Conn.

func (*Client) Read

func (c *Client) Read(m proto.Message) error

Read reads the next proto message into message m.

func (*Client) Write

func (c *Client) Write(m proto.Message) error

Write writes m as a binary proto message into the socket.

type Option

type Option func(c *Client)

Option is an optional argument to New.

func MaxSize

func MaxSize(size int64) Option

MaxSize is the maximum size a read message is allowed to be. If a message is larger than this, Next() will fail and the underlying connection will be closed.

func SharedPool

func SharedPool(pool *chunk.Pool) Option

SharedPool allows the use of a shared pool of buffers between Client instead of a pool per client. This is useful when clients are short lived and have similar message sizes. Client will panic if the pool does not return a *[]byte object.

Jump to

Keyboard shortcuts

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