rpc

package
v1.2.2 Latest Latest
Warning

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

Go to latest
Published: Aug 10, 2022 License: MIT Imports: 20 Imported by: 2

Documentation

Index

Constants

View Source
const (
	// ProtoVersions contains a comma-seprated list of compatible RPC protos versions
	// (we pass it as request meta to notify clients)
	ProtoVersions = "v1"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ClientHelper added in v1.2.0

type ClientHelper interface {
	Ready() error
	Close()
}

ClientHelepr provides additional methods to operate gRPC client

type Config added in v1.0.1

type Config struct {
	// RPC instance host
	Host string
	// The max number of simultaneous requests.
	// Should be slightly less than the RPC server concurrency to avoid
	// ResourceExhausted errors
	Concurrency int
	// Enable client-side TLS on RPC connections?
	EnableTLS bool
	// Max receive msg size (bytes)
	MaxRecvSize int
	// Max send msg size (bytes)
	MaxSendSize int
	// Alternative dialer implementation
	DialFun Dialer
}

Config contains RPC controller configuration

func NewConfig added in v1.0.1

func NewConfig() Config

NewConfig builds a new config

type Controller

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

Controller implements node.Controller interface for gRPC

func NewController

func NewController(metrics metrics.Instrumenter, config *Config) *Controller

NewController builds new Controller

func (*Controller) Authenticate

func (c *Controller) Authenticate(sid string, env *common.SessionEnv) (*common.ConnectResult, error)

Authenticate performs Connect RPC call

func (*Controller) Disconnect

func (c *Controller) Disconnect(sid string, env *common.SessionEnv, id string, subscriptions []string) error

Disconnect performs disconnect RPC call

func (*Controller) Perform

func (c *Controller) Perform(sid string, env *common.SessionEnv, id string, channel string, data string) (*common.CommandResult, error)

Perform performs Command RPC call with "perform" command

func (*Controller) Shutdown

func (c *Controller) Shutdown() error

Shutdown closes connections

func (*Controller) Start

func (c *Controller) Start() error

Start initializes RPC connection pool

func (*Controller) Subscribe

func (c *Controller) Subscribe(sid string, env *common.SessionEnv, id string, channel string) (*common.CommandResult, error)

Subscribe performs Command RPC call with "subscribe" command

func (*Controller) Unsubscribe

func (c *Controller) Unsubscribe(sid string, env *common.SessionEnv, id string, channel string) (*common.CommandResult, error)

Unsubscribe performs Command RPC call with "unsubscribe" command

type Dialer added in v1.2.0

type Dialer = func(c *Config) (pb.RPCClient, ClientHelper, error)

Dialer is factory function to build a new client with its helper

Jump to

Keyboard shortcuts

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