cluster

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jun 28, 2021 License: MIT Imports: 29 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrBrokenPipe represents the low-level connection has broken.
	ErrBrokenPipe = errors.New("broken low-level pipe")
	// ErrBufferExceed indicates that the current session buffer is full and
	// can not receive more data.
	ErrBufferExceed = errors.New("session send buffer exceed")
)
View Source
var (
	ErrCloseClosedSession = errors.New("close closed session")
	ErrInvalidRegisterReq = errors.New("invalid register request")
)

Errors that could be occurred during message handling.

Functions

This section is empty.

Types

type Acceptor

type Acceptor interface {
	React(sig int64, msg []byte) ([]byte, error)
}

Acceptor

type Convention

type Convention interface {
	Establish(Transmitter) Acceptor
}

Convention establish a connection

type LocalHandler

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

LocalHandler stores local handlers & serivces info

func NewHandler

func NewHandler() *LocalHandler

NewHandler creates a new handler without node

func (*LocalHandler) FindVersions

func (h *LocalHandler) FindVersions(service string) []string

FindVersions finds all versions for one service in cluster

func (*LocalHandler) LocalDictionary

func (h *LocalHandler) LocalDictionary() []*clusterpb.DictionaryItem

LocalDictionary transforms local services info from map to slice

func (*LocalHandler) LocalService

func (h *LocalHandler) LocalService() []string

LocalService transforms local services info from map to slice

func (*LocalHandler) Register

func (h *LocalHandler) Register(comp component.Component, opts []component.Option) error

Register register component on LocalHandler

func (*LocalHandler) RemoteService

func (h *LocalHandler) RemoteService() []string

RemoteService transforms remote services info from map to slice

func (*LocalHandler) RouteHandler

func (h *LocalHandler) RouteHandler(route string) (*component.Handler, error)

RouteHandler routes handler from localHandlers by route

type Member

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

Member is a member of clusters

func (*Member) MemberInfo

func (m *Member) MemberInfo() *clusterpb.MemberInfo

MemberInfo gets member info of a member

type NetAddr

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

func (*NetAddr) Network

func (n *NetAddr) Network() string

func (*NetAddr) String

func (n *NetAddr) String() string

type Node

type Node struct {
	Options            // current node options
	ServiceAddr string // current server service address (RPC)
	// contains filtered or unexported fields
}

Node represents a node in nano cluster, which will contains a group of services. All services will register to cluster and messages will be forwarded to the node which provides respective service

func (*Node) CloseSession

CloseSession implements the MemberServer interface

func (*Node) DelMember

DelMember is called by grpc `DelMember`

func (*Node) HandleNotify

HandleNotify is called by grpc `HandleNotify`

func (*Node) HandlePush

HandlePush is called by grpc `HandlePush`

func (*Node) HandleRequest

HandleRequest is called by grpc `HandleRequest`

func (*Node) HandleResponse

HandleResponse is called by grpc `HandleResponse`

func (*Node) Handler

func (n *Node) Handler() *LocalHandler

Handler returns localhandler for this node.

func (*Node) ListenAndServeDebug

func (n *Node) ListenAndServeDebug()

func (*Node) NewMember

NewMember is called by grpc `NewMember`

func (*Node) PerformConvention

PerformConvention implements the MemberServer interface

func (*Node) SessionClosed

SessionClosed implements the MemberServer interface

func (*Node) Shutdown

func (n *Node) Shutdown()

Shutdown all components registered by application, that call by reverse order against register

func (*Node) Startup

func (n *Node) Startup() error

Startup bootstraps a start up.

type Options

type Options struct {
	Pipeline       pipeline.Pipeline
	Convention     Convention
	MasterPersist  persistence.Persistence
	IsMaster       bool
	AdvertiseAddr  string
	RetryInterval  time.Duration
	ClientAddr     string
	DebugAddr      string
	Components     *component.Components
	Label          string
	HttpUpgrader   upgrader.Upgrader
	HttpAddr       string
	TSLCertificate string
	TSLKey         string
	Logger         log.Logger
}

Options contains some configurations for current node

type Transmitter

type Transmitter interface {
	Node() *Node
	Unicast(label string, sig int64, msg []byte) ([]byte, error)
	Multicast(sig int64, msg []byte) ([]string, [][]byte, error)
}

Transmitter unicasts & multicasts msg to

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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