service

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Mar 13, 2019 License: AGPL-3.0 Imports: 13 Imported by: 0

Documentation

Overview

Package service wraps coreos/raft library.

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrNotHost is returned when the connected service is not a host.
	ErrNotHost = errors.New("connected service is not a host")
	// ErrNotSwarm is returned when the connected service is not a swarm.
	ErrNotSwarm = errors.New("connected service is not a swarm")
)
View Source
var (
	// ErrUnavailable is returned from gRPC methods when the service is not
	// available.
	ErrUnavailable = errors.New("the service is not available")
)

Functions

This section is empty.

Types

type Config

type Config struct {
	// ElectionTick is the number of Node.Tick invocations that must pass between elections
	ElectionTick int `toml:"election_tick" comment:"the number of Node.Tick invocations that must pass between elections"`
	// HeartbeatTick is the number of Node.Tick invocations that must pass between heartbeats
	HeartbeatTick int `toml:"heartbeat_tick" comment:"the number of Node.Tick invocations that must pass between heartbeats"`
	// MaxSizePerMsg limits the max size of each append message
	MaxSizePerMsg uint64 `toml:"max_size_per_msg" comment:"limits the max size of each append message"`
	// MaxInflightMsgs limits the max number of in-flight append messages during optimistic replication phase
	MaxInflightMsgs int `toml:"max_inflight_msgs" comment:"limits the max number of in-flight append messages during optimistic replication phase"`
	// TickerInterval defines the unit of time in ms
	TickerInterval uint64 `toml:"ticker_interval" comment:"defines the unit of time in ms"`
}

Config contains configuration options for the Raft service.

type Service

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

Service is the Raft service.

func (*Service) AddToGRPCServer

func (s *Service) AddToGRPCServer(gs *grpc.Server)

AddToGRPCServer adds the service to a gRPC server.

func (*Service) Config

func (s *Service) Config() interface{}

Config returns the current service configuration or creates one with good default values.

func (*Service) Desc

func (s *Service) Desc() string

Desc returns a description of what the service does.

func (*Service) Expose

func (s *Service) Expose() interface{}

Expose exposes nothing for the moment

func (*Service) ID

func (s *Service) ID() string

ID returns the unique identifier of the service.

func (*Service) Name

func (s *Service) Name() string

Name returns the human friendly name of the service.

func (*Service) Needs

func (s *Service) Needs() map[string]struct{}

Needs returns the set of services this service depends on.

func (*Service) Plug

func (s *Service) Plug(exposed map[string]interface{}) error

Plug sets the connected services.

func (*Service) Run

func (s *Service) Run(ctx context.Context, running, stopping func()) error

Run starts the service.

func (*Service) SetConfig

func (s *Service) SetConfig(config interface{}) error

SetConfig configures the service.

Jump to

Keyboard shortcuts

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