rpc

package module
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Dec 25, 2020 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const PluginName = "RPC"

PluginName contains default plugin name.

Variables

This section is empty.

Functions

func CreateListener added in v1.0.3

func CreateListener(address string) (net.Listener, error)

CreateListener crates socket listener based on DSN definition.

Types

type Config

type Config struct {
	// Listen string
	Listen string

	// Disabled disables RPC service.
	Disabled bool
}

Config defines RPC service config.

func (*Config) Dialer

func (c *Config) Dialer() (net.Conn, error)

Dialer creates rpc socket Dialer.

func (*Config) InitDefaults

func (c *Config) InitDefaults()

InitDefaults allows to init blank config with pre-defined set of default values.

func (*Config) Listener

func (c *Config) Listener() (net.Listener, error)

Listener creates new rpc socket Listener.

func (*Config) Valid

func (c *Config) Valid() error

Valid returns nil if config is valid.

type Plugin

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

Plugin is RPC service.

func (*Plugin) Client

func (s *Plugin) Client() (*rpc.Client, error)

Client creates new RPC client.

func (*Plugin) Collects

func (s *Plugin) Collects() []interface{}

Depends declares services to collect for RPC.

func (*Plugin) Init

func (s *Plugin) Init(cfg config.Configurer, log logger.Logger) error

Init rpc service. Must return true if service is enabled.

func (*Plugin) Name

func (s *Plugin) Name() string

Name contains service name.

func (*Plugin) Register

func (s *Plugin) Register(name string, svc interface{}) error

Register publishes in the server the set of methods of the receiver value that satisfy the following conditions:

  • exported method of exported type
  • two arguments, both of exported type
  • the second argument is a pointer
  • one return value, of type error

It returns an error if the receiver is not an exported type or has no suitable methods. It also logs the error using package log.

func (*Plugin) RegisterPlugin

func (s *Plugin) RegisterPlugin(name endure.Named, p RPCer)

RegisterPlugin registers RPC service plugin.

func (*Plugin) Serve

func (s *Plugin) Serve() chan error

Serve serves the service.

func (*Plugin) Stop

func (s *Plugin) Stop() error

Stop stops the service.

type RPCer

type RPCer interface {
	// Provides RPC methods for the given service.
	RPC() interface{}
}

RPCer declares the ability to create set of public RPC methods.

Jump to

Keyboard shortcuts

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