Documentation ¶
Index ¶
- Constants
- Variables
- func GetCID() jsonrpc.CID
- func GetConnId(c *websocket.Conn) string
- func GetUID() uint64
- func HandleHttp(w http.ResponseWriter, r *http.Request, msg jsonrpc.RPCMessage) (jsonrpc.RPCMessage, error)
- func HandleWebsocket(w http.ResponseWriter, r *http.Request)
- func RemoveElement(slice []jsonrpc.CID, elems jsonrpc.CID) []jsonrpc.CID
- type ConnT
- type LocalConnT
- type MsgChannel
- type PendingKey
- type PendingValue
- type Requester
- type Router
- func (self *Router) BroadcastNotify(notify jsonrpc.RPCMessage, fromConnId jsonrpc.CID) (int, error)
- func (self *Router) ClearPending(connId jsonrpc.CID)
- func (self *Router) ClearTimeoutRequests()
- func (self *Router) GetServices(connId jsonrpc.CID) []string
- func (self *Router) Init() *Router
- func (self *Router) JoinConn(connId jsonrpc.CID, conn ConnT)
- func (self *Router) Leave(connId jsonrpc.CID)
- func (self *Router) RegisterService(connId jsonrpc.CID, serviceName string) error
- func (self *Router) RouteMessage(msg jsonrpc.RPCMessage, fromConnId jsonrpc.CID) *ConnT
- func (self *Router) SelectConn(serviceName string) (jsonrpc.CID, bool)
- func (self *Router) UnRegisterService(connId jsonrpc.CID, serviceName string) error
- type ServiceManager
- type TentacleT
Constants ¶
View Source
const ( DefaultRequestTimeout time.Duration = 1000000 * 5 IntentLocal string = "local" )
5 seconds
Variables ¶
View Source
var (
ErrNotNotify = errors.New("json message is not notify")
)
Functions ¶
func HandleHttp ¶
func HandleHttp(w http.ResponseWriter, r *http.Request, msg jsonrpc.RPCMessage) (jsonrpc.RPCMessage, error)
func HandleWebsocket ¶
func HandleWebsocket(w http.ResponseWriter, r *http.Request)
Types ¶
type LocalConnT ¶
type LocalConnT struct { ChMsg MsgChannel ConnId jsonrpc.CID Conn *websocket.Conn }
An ConnActor manage a websocket connection and handles incoming messages
func (LocalConnT) CanBroadcast ¶
func (self LocalConnT) CanBroadcast() bool
func (*LocalConnT) Close ¶
func (self *LocalConnT) Close()
func (*LocalConnT) Init ¶
func (self *LocalConnT) Init(conn *websocket.Conn) *LocalConnT
func (LocalConnT) RecvChannel ¶
func (self LocalConnT) RecvChannel() MsgChannel
func (*LocalConnT) Start ¶
func (self *LocalConnT) Start()
type Requester ¶
type Requester struct { ChMsg MsgChannel ConnId jsonrpc.CID }
func (Requester) CanBroadcast ¶
func (Requester) RecvChannel ¶
func (self Requester) RecvChannel() MsgChannel
func (*Requester) RequestAndWait ¶
func (self *Requester) RequestAndWait(msg jsonrpc.RPCMessage) (jsonrpc.RPCMessage, error)
type Router ¶
type Router struct { ServiceConnMap map[string]([]jsonrpc.CID) ConnServiceMap map[jsonrpc.CID]([]string) ConnMap map[jsonrpc.CID](ConnT) PendingMap map[PendingKey]PendingValue // contains filtered or unexported fields }
func (*Router) BroadcastNotify ¶
func (*Router) ClearPending ¶
func (*Router) ClearTimeoutRequests ¶
func (self *Router) ClearTimeoutRequests()
func (*Router) RegisterService ¶
func (*Router) RouteMessage ¶
commands
type ServiceManager ¶
type ServiceManager struct { ChMsg MsgChannel ConnId jsonrpc.CID }
builtin services
func (*ServiceManager) CanBroadcast ¶
func (self *ServiceManager) CanBroadcast() bool
func (*ServiceManager) Close ¶
func (self *ServiceManager) Close()
func (*ServiceManager) Init ¶
func (self *ServiceManager) Init() *ServiceManager
core services manager
func (*ServiceManager) RecvChannel ¶
func (self *ServiceManager) RecvChannel() MsgChannel
func (*ServiceManager) Run ¶
func (self *ServiceManager) Run()
func (*ServiceManager) Start ¶
func (self *ServiceManager) Start()
Click to show internal directories.
Click to hide internal directories.