router

package
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2022 License: GPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type LocalMemberNode

type LocalMemberNode struct {
	sync.RWMutex
	NodeMap map[uint64]*deal.MemberNode
}

func GetLocalMemberNode

func GetLocalMemberNode() *LocalMemberNode

func (*LocalMemberNode) GetNodeBySid

func (n *LocalMemberNode) GetNodeBySid(sid uint64) (*deal.MemberNode, error)

func (*LocalMemberNode) SetNode

func (n *LocalMemberNode) SetNode(nodes []*deal.MemberNode)

type MasterNode

type MasterNode struct {
	sync.RWMutex

	// 从节点
	MemberNode []*deal.MemberNode

	//服务节点
	ServerNode []*deal.ServerNode
}

全节点路由信息记录

func GetMasterNode

func GetMasterNode() *MasterNode

func (*MasterNode) AddMemberNode

func (m *MasterNode) AddMemberNode(node *deal.MemberNode)

增加从节点

func (*MasterNode) AddServerNode

func (m *MasterNode) AddServerNode(node *deal.ServerNode)

服务节点增加

func (*MasterNode) AllMemberNode

func (m *MasterNode) AllMemberNode() []*deal.MemberNode

获取所有从节点

func (*MasterNode) AllServerNode

func (m *MasterNode) AllServerNode() []*deal.ServerNode

获取所有的服务节点

func (*MasterNode) RemoveMemberNode

func (m *MasterNode) RemoveMemberNode(addr string)

移除从节点

func (*MasterNode) RemoveServerNode

func (m *MasterNode) RemoveServerNode(addr string)

节点关闭

type MemberServerNode

type MemberServerNode struct {
	sync.RWMutex
	//Nodes    []*deal.ServerNode
	RouteMap map[string]*MemberServerRoute
}

网关端服务寻址 主要实现地址寻址

func GetMemberServerNode

func GetMemberServerNode() *MemberServerNode

func (*MemberServerNode) GetNodeRand

func (n *MemberServerNode) GetNodeRand(version, route string) string

获取一个地址

func (*MemberServerNode) SetNode

func (n *MemberServerNode) SetNode(nodes []*deal.ServerNode)

设置值

type MemberServerRoute

type MemberServerRoute struct {
	LastVersion string
	Addr        []string
	Version     []string
}

type Router

type Router struct {
	Name string
	// route -> func
	Data map[string]*RouterItem
	// []route
	Desc []string
}

func GetGateRouter

func GetGateRouter() *Router

func GetLocalRouter

func GetLocalRouter() *Router

func GetMasterHttpRouter

func GetMasterHttpRouter() *Router

func GetMasterRouter

func GetMasterRouter() *Router

func GetMemberRouter

func GetMemberRouter() *Router

func NewRouter

func NewRouter() *Router

func (*Router) GetDescs

func (r *Router) GetDescs() []string

func (*Router) GetRoute

func (r *Router) GetRoute(route string) *RouterItem

func (*Router) Register

func (r *Router) Register(obj *RouterServer)

服务对象, 服务模块名

type RouterItem

type RouterItem struct {
	Method reflect.Value
	Input  reflect.Type
}

type RouterServer

type RouterServer struct {
	Name   string
	Server interface{}
}

Jump to

Keyboard shortcuts

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