Documentation ¶
Index ¶
- Variables
- type Acceptor
- type Convention
- type LocalHandler
- func (h *LocalHandler) FindVersions(service string) []string
- func (h *LocalHandler) LocalDictionary() []*clusterpb.DictionaryItem
- func (h *LocalHandler) LocalService() []string
- func (h *LocalHandler) Register(comp component.Component, opts []component.Option) error
- func (h *LocalHandler) RemoteService() []string
- func (h *LocalHandler) RouteHandler(route string) (*component.Handler, error)
- type Member
- type NetAddr
- type Node
- func (n *Node) CloseSession(_ context.Context, req *clusterpb.CloseSessionRequest) (*clusterpb.CloseSessionResponse, error)
- func (n *Node) DelMember(_ context.Context, req *clusterpb.DelMemberRequest) (*clusterpb.DelMemberResponse, error)
- func (n *Node) HandleNotify(_ context.Context, req *clusterpb.NotifyMessage) (*clusterpb.MemberHandleResponse, error)
- func (n *Node) HandlePush(_ context.Context, req *clusterpb.PushMessage) (*clusterpb.MemberHandleResponse, error)
- func (n *Node) HandleRequest(_ context.Context, req *clusterpb.RequestMessage) (*clusterpb.MemberHandleResponse, error)
- func (n *Node) HandleResponse(_ context.Context, req *clusterpb.ResponseMessage) (*clusterpb.MemberHandleResponse, error)
- func (n *Node) Handler() *LocalHandler
- func (n *Node) ListenAndServeDebug()
- func (n *Node) NewMember(_ context.Context, req *clusterpb.NewMemberRequest) (*clusterpb.NewMemberResponse, error)
- func (n *Node) PerformConvention(_ context.Context, req *clusterpb.PerformConventionRequest) (*clusterpb.PerformConventionResponse, error)
- func (n *Node) SessionClosed(_ context.Context, req *clusterpb.SessionClosedRequest) (*clusterpb.SessionClosedResponse, error)
- func (n *Node) Shutdown()
- func (n *Node) Startup() error
- type Options
- type Transmitter
Constants ¶
This section is empty.
Variables ¶
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") )
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 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 (*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) 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 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 ¶
func (n *Node) CloseSession(_ context.Context, req *clusterpb.CloseSessionRequest) (*clusterpb.CloseSessionResponse, error)
CloseSession implements the MemberServer interface
func (*Node) DelMember ¶
func (n *Node) DelMember(_ context.Context, req *clusterpb.DelMemberRequest) (*clusterpb.DelMemberResponse, error)
DelMember is called by grpc `DelMember`
func (*Node) HandleNotify ¶
func (n *Node) HandleNotify(_ context.Context, req *clusterpb.NotifyMessage) (*clusterpb.MemberHandleResponse, error)
HandleNotify is called by grpc `HandleNotify`
func (*Node) HandlePush ¶
func (n *Node) HandlePush(_ context.Context, req *clusterpb.PushMessage) (*clusterpb.MemberHandleResponse, error)
HandlePush is called by grpc `HandlePush`
func (*Node) HandleRequest ¶
func (n *Node) HandleRequest(_ context.Context, req *clusterpb.RequestMessage) (*clusterpb.MemberHandleResponse, error)
HandleRequest is called by grpc `HandleRequest`
func (*Node) HandleResponse ¶
func (n *Node) HandleResponse(_ context.Context, req *clusterpb.ResponseMessage) (*clusterpb.MemberHandleResponse, error)
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 ¶
func (n *Node) NewMember(_ context.Context, req *clusterpb.NewMemberRequest) (*clusterpb.NewMemberResponse, error)
NewMember is called by grpc `NewMember`
func (*Node) PerformConvention ¶
func (n *Node) PerformConvention(_ context.Context, req *clusterpb.PerformConventionRequest) (*clusterpb.PerformConventionResponse, error)
PerformConvention implements the MemberServer interface
func (*Node) SessionClosed ¶
func (n *Node) SessionClosed(_ context.Context, req *clusterpb.SessionClosedRequest) (*clusterpb.SessionClosedResponse, error)
SessionClosed implements the MemberServer interface
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