server

package
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: Aug 5, 2020 License: MIT Imports: 19 Imported by: 0

Documentation

Overview

Package server micserver中的ROC调用发生时,处理调用以及返回值。

Package server micserver中管理与其他服务器连接的管理器

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrTargetClientDontExist = errors.New("target client does not exist")
)

服务的错误定义

Functions

This section is empty.

Types

type ROCServer

type ROCServer struct {
	*log.Logger
	// contains filtered or unexported fields
}

ROCServer ROC服务

func (*ROCServer) GetROC

func (rocServer *ROCServer) GetROC(objtype roc.ObjType) *roc.ROC

GetROC 获取指定ROC对象类型的ROC对象

func (*ROCServer) GetROCCachedLocation

func (rocServer *ROCServer) GetROCCachedLocation(objType roc.ObjType, objID string) string

GetROCCachedLocation 获取ROC缓存中的位置信息 返回目标ROC对象所在的moduleid

func (*ROCServer) Init

func (rocServer *ROCServer) Init(server *Server)

Init 初始化ROC服务

func (*ROCServer) NewROC

func (rocServer *ROCServer) NewROC(objtype roc.ObjType) *roc.ROC

NewROC 新建一个指定ROC对象类型的ROC对象

func (*ROCServer) OnROCObjAdd

func (rocServer *ROCServer) OnROCObjAdd(obj roc.IObj)

OnROCObjAdd 当ROC对象发生注册行为时

func (*ROCServer) OnROCObjDel

func (rocServer *ROCServer) OnROCObjDel(obj roc.IObj)

OnROCObjDel 当ROC对象发生注册行为时

func (*ROCServer) ROCCallBlock

func (rocServer *ROCServer) ROCCallBlock(callpath *roc.Path, callarg []byte) ([]byte, error)

ROCCallBlock 有返回值的RPC调用

func (*ROCServer) ROCCallNR

func (rocServer *ROCServer) ROCCallNR(callpath *roc.Path, callarg []byte) error

ROCCallNR 无返回值的ROC调用

func (*ROCServer) RandomROCCachedByType

func (rocServer *ROCServer) RandomROCCachedByType(objType roc.ObjType) string

RandomROCCachedByType 随机获取本地缓存的ROC对象,返回该对象的ID,限制目标对象必须本module可以访问

func (*ROCServer) RangeROCCachedByType

func (rocServer *ROCServer) RangeROCCachedByType(objType roc.ObjType, f func(id string, location string) bool)

RangeROCCachedByType 遍历指定类型的ROC缓存,限制目标对象必须本module可以访问

type Server

type Server struct {
	*log.Logger
	// event libs
	ROCServer
	// contains filtered or unexported fields
}

Server 一个Module就是一个Server

func (*Server) BindSubnet

func (s *Server) BindSubnet(subnetAddrMap map[string]string)

BindSubnet 尝试连接本服务子网中的其他服务器

func (*Server) BroadcastModuleCmd

func (s *Server) BroadcastModuleCmd(msgstr msg.IMsgStruct)

BroadcastModuleCmd 广播一个消息到连接到本服务器的所有服务器

func (*Server) DeleteSession

func (s *Server) DeleteSession(uuid string)

DeleteSession 删除本地维护的 session

func (*Server) DoSendBytesToClient

func (s *Server) DoSendBytesToClient(fromserver string, gateid string, to string, msgid uint16, data []byte) error

DoSendBytesToClient 发送一个消息到连接到本服务器的客户端

func (*Server) ForwardClientMsgToModule

func (s *Server) ForwardClientMsgToModule(fromconn *connect.Client, to string, msgid uint16, data []byte)

ForwardClientMsgToModule 转发一个客户端消息到另一个服务器

func (*Server) GetBalanceModuleID

func (s *Server) GetBalanceModuleID(moduletype string) string

GetBalanceModuleID 获取一个均衡的负载服务器

func (*Server) GetClient

func (s *Server) GetClient(tmpid string) *connect.Client

GetClient 获取一个客户端连接

func (*Server) GetSession

func (s *Server) GetSession(uuid string) *session.Session

GetSession 获取本地维护的 session

func (*Server) HookGate

func (s *Server) HookGate(gateHook gatebase.GateHook)

HookGate 设置本服务的网关事件监听者,如果本服务没有启用网关,将不会收到任何事件

func (*Server) HookServer

func (s *Server) HookServer(serverHook serverbase.ServerHook)

HookServer 设置本服务的服务事件监听者

func (*Server) Init

func (s *Server) Init(moduleid string)

Init 初始化本服务

func (*Server) InitGate

func (s *Server) InitGate(gateaddr string)

InitGate 初始化本服务的网关部分

func (*Server) InitSubnet

func (s *Server) InitSubnet(conf *conf.ModuleConfig)

InitSubnet 初始化本服务的子网管理器

func (*Server) MustUpdateSessionFromMap

func (s *Server) MustUpdateSessionFromMap(uuid string, data map[string]string)

MustUpdateSessionFromMap 更新本地的Session,如果没有的话注册它

func (*Server) RangeClient

func (s *Server) RangeClient(
	f func(tmpid string, client *connect.Client) bool)

RangeClient 获取一个客户端连接

func (*Server) ReqCloseConnect

func (s *Server) ReqCloseConnect(gateid string, connectid string)

ReqCloseConnect 请求关闭远程瞪的目标客户端连接

func (*Server) SInnerCloseSessionConnect

func (s *Server) SInnerCloseSessionConnect(gateid string, connectid string)

SInnerCloseSessionConnect 断开一个客户端连接,仅框架内使用

func (*Server) SInnerSendClientMsg

func (s *Server) SInnerSendClientMsg(gateid string, connectid string, msgid uint16, data []byte)

SInnerSendClientMsg 发送一个服务器消息到另一个服务器,仅框架内使用

func (*Server) SInnerSendModuleMsg

func (s *Server) SInnerSendModuleMsg(to string, msgstr msg.IMsgStruct)

SInnerSendModuleMsg 发送一个服务器消息到另一个服务器,仅框架内使用

func (*Server) SendBytesToClient

func (s *Server) SendBytesToClient(gateid string, to string, msgid uint16, data []byte) error

SendBytesToClient 发送一个消息到客户端

func (*Server) SendModuleMsg

func (s *Server) SendModuleMsg(
	to string, msgstr msg.IMsgStruct)

SendModuleMsg 发送一个服务器消息到另一个服务器

func (*Server) SetLogger

func (s *Server) SetLogger(source *log.Logger)

SetLogger 设置本服务的Logger

func (*Server) Stop

func (s *Server) Stop()

Stop stop server

func (*Server) UpdateSessionUUID

func (s *Server) UpdateSessionUUID(uuid string, session *session.Session)

UpdateSessionUUID 更新目标Session的UUID

Directories

Path Synopsis
Package base 服务的基本接口
Package base 服务的基本接口
Package gate gateway基础模块
Package gate gateway基础模块
base
Package base 网关的基本接口
Package base 网关的基本接口
Package subnet micserver中的子网信息,管理了所有模块间的连接
Package subnet micserver中的子网信息,管理了所有模块间的连接
base
Package base 服务器子网基础
Package base 服务器子网基础
serconfs
Package serconfs 连接到本模块的服务器配置信息管理器
Package serconfs 连接到本模块的服务器配置信息管理器

Jump to

Keyboard shortcuts

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