Documentation ¶
Index ¶
- Variables
- func Chunk(data []byte, chunkSize int) [][]byte
- func ChunkReader(r io.Reader, f func([]byte) error) (int, error)
- func GetBuffer() []byte
- func NewStreamingBytesReader(streamingBytesClient StreamingBytesClient) io.Reader
- func NewStreamingBytesWriter(streamingBytesServer StreamingBytesServer) io.Writer
- func PutBuffer(buf []byte)
- func Serve(registerFunc func(*grpc.Server), options ServeOptions, serveEnv ServeEnv) (retErr error)
- func WriteFromStreamingBytesClient(streamingBytesClient StreamingBytesClient, writer io.Writer) error
- func WriteToStreamingBytesServer(reader io.Reader, streamingBytesServer StreamingBytesServer) error
- type Dialer
- type Pool
- type ServeEnv
- type ServeOptions
- type StreamingBytesClient
- type StreamingBytesServer
Constants ¶
This section is empty.
Variables ¶
var ( // ErrMustSpecifyRegisterFunc is used when a register func is nil. ErrMustSpecifyRegisterFunc = errors.New("must specify registerFunc") )
var (
// MaxMsgSize is used to define the GRPC frame size
MaxMsgSize = 20 * 1024 * 1024
)
Functions ¶
func Chunk ¶ added in v1.4.5
Chunk splits a piece of data up, this is useful for splitting up data that's bigger than MaxMsgSize
func ChunkReader ¶ added in v1.4.6
ChunkReader splits a reader into reasonably sized chunks for the purpose of transmitting the chunks over gRPC. For each chunk, it calls the given function.
func GetBuffer ¶ added in v1.4.6
func GetBuffer() []byte
GetBuffer returns a buffer. The buffer may or may not be freshly allocated, and it may or may not be zero-ed.
func NewStreamingBytesReader ¶ added in v1.3.5
func NewStreamingBytesReader(streamingBytesClient StreamingBytesClient) io.Reader
NewStreamingBytesReader returns an io.Reader for a StreamingBytesClient.
func NewStreamingBytesWriter ¶ added in v1.3.5
func NewStreamingBytesWriter(streamingBytesServer StreamingBytesServer) io.Writer
NewStreamingBytesWriter returns an io.Writer for a StreamingBytesServer.
func PutBuffer ¶ added in v1.4.6
func PutBuffer(buf []byte)
PutBuffer returns the buffer to the pool.
func Serve ¶ added in v1.3.5
func Serve( registerFunc func(*grpc.Server), options ServeOptions, serveEnv ServeEnv, ) (retErr error)
Serve serves stuff.
func WriteFromStreamingBytesClient ¶ added in v1.3.5
func WriteFromStreamingBytesClient(streamingBytesClient StreamingBytesClient, writer io.Writer) error
WriteFromStreamingBytesClient writes from the StreamingBytesClient to the io.Writer.
func WriteToStreamingBytesServer ¶ added in v1.3.5
func WriteToStreamingBytesServer(reader io.Reader, streamingBytesServer StreamingBytesServer) error
WriteToStreamingBytesServer writes the data from the io.Reader to the StreamingBytesServer.
Types ¶
type Dialer ¶
type Dialer interface { Dial(address string) (*grpc.ClientConn, error) CloseConns() error }
Dialer defines a grpc.ClientConn connection dialer.
type Pool ¶ added in v1.4.6
type Pool struct {
// contains filtered or unexported fields
}
Pool stores a pool of grpc connections to, it's useful in places where you would otherwise need to create several connections.
func NewPool ¶ added in v1.4.6
func NewPool(address string, size int, opts ...grpc.DialOption) *Pool
NewPool creates a new connection pool, size is the maximum number of connections that it will cache. There is no limit to he number of connections that it can provide.
func (*Pool) Close ¶ added in v1.4.6
Close closes all connections stored in the pool, it returns an error if any of the calls to Close error.
type ServeEnv ¶ added in v1.3.5
type ServeEnv struct { // Default is 7070. GRPCPort uint16 `env:"GRPC_PORT,default=7070"` }
ServeEnv are environment variables for serving.
type ServeOptions ¶ added in v1.3.5
ServeOptions represent optional fields for serving.
type StreamingBytesClient ¶ added in v1.3.5
type StreamingBytesClient interface {
Recv() (*types.BytesValue, error)
}
StreamingBytesClient represents a client for an rpc method of the form:
rpc Foo(Bar) returns (stream google.protobuf.BytesValue) {}
type StreamingBytesServer ¶ added in v1.3.5
type StreamingBytesServer interface {
Send(bytesValue *types.BytesValue) error
}
StreamingBytesServer represents a server for an rpc method of the form:
rpc Foo(Bar) returns (stream google.protobuf.BytesValue) {}