Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseURI ¶ added in v2.12.1
ParseURI parses s as address and returns a host and a flag indicating that TLS is enabled. If multi-address is provided the argument is returned unchanged.
func SendUnary ¶
func SendUnary(cli *Client, info common.CallMethodInfo, req, resp message.Message, opts ...CallOption) error
SendUnary initializes communication session by RPC info, performs unary RPC and closes the session.
Types ¶
type CallOption ¶
type CallOption func(*callParameters)
CallOption is a messaging session option within Protobuf RPC.
func WithContext ¶
func WithContext(ctx context.Context) CallOption
WithContext return options to specify call context.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client represents client for exchanging messages with a remote server using Protobuf RPC.
func (*Client) Conn ¶
Conn returns underlying connection.
Returns non-nil result after the first Init() call completed without a connection error.
Conn is NPE-safe: returns nil if Client is nil.
Client should not be used after Close() call on the connection: behavior is undefined.
func (*Client) Init ¶
func (c *Client) Init(info common.CallMethodInfo, opts ...CallOption) (MessageReadWriter, error)
Init initiates a messaging session and returns the interface for message transmitting.
type MessageReadWriter ¶
type MessageReadWriter interface { MessageReader MessageWriter // Closes the communication session. // // All calls to send/receive messages must be done before closing. io.Closer }
MessageReadWriter is a component interface for transmitting raw Protobuf messages.
type MessageReader ¶
type MessageReader interface { // ReadMessage reads the next Message. // // Returns io.EOF if there are no more messages to read. // ReadMessage should not be called after io.EOF occasion. ReadMessage(message.Message) error }
MessageReader is an interface of the Message reader.
func OpenServerStream ¶
func OpenServerStream(cli *Client, info common.CallMethodInfo, req message.Message, opts ...CallOption) (MessageReader, error)
OpenServerStream initializes communication session by RPC info, opens server-side stream and returns its interface.
All stream reads must be performed before the closing. Close must be called once.
type MessageReaderCloser ¶
type MessageReaderCloser interface { MessageReader io.Closer }
MessageReaderCloser wraps MessageReader and io.Closer interface.
type MessageWriter ¶
type MessageWriter interface { // WriteMessage writers the next Message. // // WriteMessage should not be called after any error. WriteMessage(message.Message) error }
MessageWriter is an interface of the Message writer.
type MessageWriterCloser ¶
type MessageWriterCloser interface { MessageWriter io.Closer }
MessageWriterCloser wraps MessageWriter and io.Closer interfaces.
func OpenClientStream ¶
func OpenClientStream(cli *Client, info common.CallMethodInfo, resp message.Message, opts ...CallOption) (MessageWriterCloser, error)
OpenClientStream initializes communication session by RPC info, opens client-side stream and returns its interface.
All stream writes must be performed before the closing. Close must be called once.
type Option ¶
type Option func(*cfg)
Option is a Client's option.
func WithDialTimeout ¶
WithDialTimeout returns option to specify dial timeout of the remote server connection.
Ignored if WithGRPCConn is provided.
func WithGRPCConn ¶
func WithGRPCConn(v *grpc.ClientConn) Option
WithGRPCConn returns option to specify gRPC virtual connection.
func WithNetworkAddress ¶
WithNetworkAddress returns option to specify network address of the remote server.
Ignored if WithGRPCConn is provided.
func WithNetworkURIAddress ¶
WithNetworkURIAddress combines WithNetworkAddress and WithTLSCfg options based on arguments.
Do not use along with WithNetworkAddress and WithTLSCfg.
Ignored if WithGRPCConn is provided.
func WithRWTimeout ¶ added in v2.11.1
WithRWTimeout returns option to specify timeout for reading and writing single gRPC message.
func WithTLSCfg ¶
WithTLSCfg returns option to specify TLS configuration.
Ignored if WithGRPCConn is provided.