Documentation ¶
Overview ¶
Package inf @Title title @Description desc @Author yr 2024/11/12 @Update yr 2024/11/12
Package inf @Title title @Description desc @Author yr 2024/11/14 @Update yr 2024/11/14
Package inf @Title title @Description desc @Author yr 2024/11/26 @Update yr 2024/11/26
Package inf @Title 信封接口 @Description desc @Author yr 2024/11/14 @Update yr 2024/11/14
Package inf @Title title @Description desc @Author pc 2024/11/5 @Update pc 2024/11/5
Package inf @Title title @Description desc @Author pc 2024/11/5 @Update pc 2024/11/5
Package inf @Title 调用监控 @Description 用于监控一些具有超时属性的调用 @Author yr 2024/9/4 下午7:49 @Update yr 2024/9/4 下午7:49
Package inf @Title title @Description desc @Author yr 2024/11/26 @Update yr 2024/11/26
Package inf @Title title @Description desc @Author pc 2024/11/5 @Update pc 2024/11/5
Package inf @Title 请填写文件名称(需要改) @Description 请填写文件描述(需要改) @Author yr 2024/7/29 下午4:47 @Update yr 2024/7/29 下午4:47
Package inf @Title 服务选择器 @Description 根据条件选择服务 @Author yr 2024/11/7 @Update yr 2024/11/7
Package inf @Title title @Description desc @Author pc 2024/11/4 @Update pc 2024/11/4
Package inf @Title title @Description desc @Author yr 2025/1/15 @Update yr 2025/1/15
Index ¶
- type EventCallBack
- type EventType
- type IBus
- type IDataDef
- type IDiscovery
- type IEnvelope
- type IEvent
- type IEventChannel
- type IEventHandler
- type IEventProcessor
- type IHttpChannel
- type IIdentifiable
- type ILifecycle
- type IModule
- type IModuleHierarchy
- type IModuleIdentity
- type IModuleLifecycle
- type IModuleServiceEvent
- type IModuleTimer
- type IMonitor
- type IProfiler
- type IRemoteServer
- type IRpcChannel
- type IRpcHandler
- type IRpcSelector
- type IRpcSender
- type IRpcSenderFactory
- type IRpcSenderHandler
- type ISelector
- type IService
- type IServiceHandler
- type ITimer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type IBus ¶
type IBus interface { // Call 同步调用服务 Call(method string, in, out interface{}) error CallWithTimeout(method string, timeout time.Duration, in, out interface{}) error // AsyncCall 异步调用服务 AsyncCall(method string, timeout time.Duration, in interface{}, callbacks ...dto.CompletionFunc) (dto.CancelRpc, error) // Send 无返回调用 Send(method string, in interface{}) error // Cast 广播 Cast(method string, in interface{}) }
type IDiscovery ¶
type IDiscovery interface { Init(eventProcessor IEventProcessor) error Start() Close() }
type IEnvelope ¶
type IEnvelope interface { IDataDef SetHeaders(header dto.Header) SetHeader(key string, value string) SetSenderPid(sender *actor.PID) SetReceiverPid(receiver *actor.PID) SetSender(client IRpcSender) SetMethod(method string) SetReqId(reqId uint64) SetReply() SetTimeout(timeout time.Duration) SetRequest(req interface{}) SetResponse(res interface{}) SetError(err error) SetErrStr(err string) SetNeedResponse(need bool) SetCallback(cbs []dto.CompletionFunc) SetTimerId(id uint64) GetHeader(key string) string GetHeaders() dto.Header GetSenderPid() *actor.PID GetReceiverPid() *actor.PID GetSender() IRpcSender GetMethod() string GetReqId() uint64 GetRequest() interface{} GetResponse() interface{} GetError() error GetErrStr() string GetTimeout() time.Duration GetTimerId() uint64 NeedCallback() bool // 是否需要回调 IsReply() bool // 是否是回复 NeedResponse() bool // 是否需要回复 Done() RunCompletions() Wait() ToProtoMsg() *actor.Message }
type IEventChannel ¶
type IEventHandler ¶
type IEventHandler interface { Init(p IEventProcessor) GetEventProcessor() IEventProcessor NotifyEvent(IEvent) Destroy() //注册了事件 AddRegInfo(eventType EventType, eventProcessor IEventProcessor) RemoveRegInfo(eventType EventType, eventProcessor IEventProcessor) }
type IEventProcessor ¶
type IEventProcessor interface { IEventChannel Init(eventChannel IEventChannel) EventHandler(ev IEvent) RegEventReceiverFunc(eventType EventType, receiver IEventHandler, callback EventCallBack) UnRegEventReceiverFun(eventType EventType, receiver IEventHandler) CastEvent(event IEvent) //广播事件 AddBindEvent(eventType EventType, receiver IEventHandler, callback EventCallBack) AddListen(eventType EventType, receiver IEventHandler) RemoveBindEvent(eventType EventType, receiver IEventHandler) RemoveListen(eventType EventType, receiver IEventHandler) }
type IHttpChannel ¶
type IHttpChannel interface {
PushHttpEvent(e interface{}) error
}
type IIdentifiable ¶
type ILifecycle ¶
type ILifecycle interface { Init(src interface{}, serviceInitConf *config.ServiceInitConf, cfg interface{}) Start() error Stop() OnInit() error OnStart() error OnRelease() }
ILifecycle 服务生命周期
type IModule ¶
type IModule interface { IModuleLifecycle IModuleIdentity IModuleHierarchy IModuleServiceEvent concurrent.IConcurrent }
type IModuleHierarchy ¶
type IModuleIdentity ¶
type IModuleLifecycle ¶
type IModuleLifecycle interface { OnInit() error OnRelease() }
type IModuleServiceEvent ¶
type IModuleServiceEvent interface { GetService() IService // 获取服务 GetEventHandler() IEventHandler // 获取事件处理器 GetEventProcessor() IEventProcessor // 获取事件管理器 NotifyEvent(IEvent) // 通知事件 }
type IModuleTimer ¶
type IRemoteServer ¶
type IRemoteServer interface { Init(IRpcSenderFactory) Serve(*config.RPCServer) error Close() }
type IRpcChannel ¶
type IRpcHandler ¶
type IRpcHandler interface { IRpcChannel IHttpChannel IRpcSelector GetName() string GetPid() *actor.PID // 获取服务id GetRpcHandler() IRpcHandler // 获取rpc服务 HandleRequest(msg IEnvelope) // 处理请求 HandleResponse(msg IEnvelope) // 处理回复 IsPrivate() bool // 是否私有服务 IsClosed() bool // 服务是否已经关闭 }
type IRpcSelector ¶
type IRpcSelector interface { Select(serverId int32, serviceId, serviceName string) IBus SelectSameServer(serviceId, serviceName string) IBus SelectByPid(receiver *actor.PID) IBus // SelectByRule 根据自定义规则选择服务 SelectByRule(rule func(pid *actor.PID) bool) IBus // SelectByServiceType 根据服务类型选择服务 SelectByServiceType(serverId int32, serviceType, serviceName string, filters ...func(pid *actor.PID) bool) IBus SelectSameServerByServiceType(serviceType, serviceName string, filters ...func(pid *actor.PID) bool) IBus }
type IRpcSender ¶
type IRpcSender interface { IRpcHandler IRpcSenderHandler GetPid() *actor.PID }
type IRpcSenderFactory ¶
type IRpcSenderFactory interface {
GetSender(pid *actor.PID) IRpcSender
}
type IRpcSenderHandler ¶
type ISelector ¶
type ISelector interface { // Select 选择服务 Select(sender *actor.PID, serverId int32, serviceId, serviceName string) IBus // SelectByRule 根据自定义规则选择服务 SelectByRule(sender *actor.PID, rule func(pid *actor.PID) bool) IBus SelectByPid(sender, receiver *actor.PID) IBus SelectByServiceType(sender *actor.PID, serverId int32, serviceType, serviceName string) IBus SelectByFilterAndChoice(sender *actor.PID, filter func(pid *actor.PID) bool, choice func(pids []*actor.PID) []*actor.PID) IBus }
type IService ¶
type IService interface { concurrent.IConcurrent ILifecycle IIdentifiable IServiceHandler IEventChannel IProfiler }
IService 服务接口 每个服务就是一个单独的协程
type IServiceHandler ¶
type IServiceHandler interface { SetGoRoutineNum(num int32) GetServiceCfg() interface{} GetServiceEventChannelNum() int GetServiceTimerChannelNum() int GetRpcHandler() IRpcHandler }