pomelo

package
v1.3.12 Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2023 License: MIT Imports: 18 Imported by: 4

Documentation

Index

Constants

View Source
const (
	ResponseFuncName = "response"
	PushFuncName     = "push"
	KickFuncName     = "kick"
	BroadcastName    = "broadcast"
)
View Source
const (
	AgentInit    int32 = 0
	AgentWaitAck int32 = 1
	AgentWorking int32 = 2
	AgentClosed  int32 = 3
)
View Source
const (
	DataHeartbeat  = "heartbeat"
	DataDict       = "dict"
	DataSerializer = "serializer"
)

Variables

This section is empty.

Functions

func BindSID

func BindSID(agent *Agent)

func BindUID

func BindUID(sid cfacade.SID, uid cfacade.UID) error

func Broadcast added in v1.3.4

func Broadcast(iActor cfacade.IActor, agentPath string, uidList []int64, allUID bool, route string, data []byte)

func BuildSession

func BuildSession(agent *Agent, msg *pmessage.Message) *cproto.Session

func ClusterLocalDataRoute

func ClusterLocalDataRoute(agent *Agent, session *cproto.Session, route *pmessage.Route, msg *pmessage.Message, nodeID, targetPath string) error

func Count

func Count() int

func DefaultDataRoute

func DefaultDataRoute(agent *Agent, route *pmessage.Route, msg *pmessage.Message)

DefaultDataRoute 默认的消息路由

func ForeachAgent

func ForeachAgent(fn func(a *Agent))

func Kick added in v1.3.1

func Kick(iActor cfacade.IActor, agentPath, sid string, reason interface{}, closed bool)

func LocalDataRoute

func LocalDataRoute(agent *Agent, session *cproto.Session, route *pmessage.Route, msg *pmessage.Message, targetPath string)

func NewActor

func NewActor(agentActorID string) *actor

func Push added in v1.3.1

func Push(iActor cfacade.IActor, agentPath, sid, route string, v interface{})

func Response added in v1.3.1

func Response(iActor cfacade.IActor, agentPath, sid string, mid uint32, v interface{})

func ResponseCode added in v1.3.1

func ResponseCode(iActor cfacade.IActor, agentPath, sid string, mid uint32, statusCode int32)

func Unbind

func Unbind(sid cfacade.SID)

Types

type ActorBase

type ActorBase struct {
	cactor.Base
}

func (*ActorBase) Broadcast added in v1.3.4

func (p *ActorBase) Broadcast(agentPath string, uidList []int64, allUID bool, route string, data []byte)

func (*ActorBase) Kick

func (p *ActorBase) Kick(session *cproto.Session, reason interface{}, closed bool)

func (*ActorBase) Push

func (p *ActorBase) Push(session *cproto.Session, route string, v interface{})

func (*ActorBase) Response

func (p *ActorBase) Response(session *cproto.Session, v interface{})

func (*ActorBase) ResponseCode

func (p *ActorBase) ResponseCode(session *cproto.Session, statusCode int32)

type Agent

type Agent struct {
	cfacade.IApplication // app
	// contains filtered or unexported fields
}

func GetAgent

func GetAgent(sid cfacade.SID) (*Agent, bool)

func GetAgentWithUID

func GetAgentWithUID(uid cfacade.UID) (*Agent, bool)

func NewAgent

func NewAgent(app cfacade.IApplication, conn net.Conn, session *cproto.Session) Agent

func (*Agent) AddOnClose

func (a *Agent) AddOnClose(fn OnCloseFunc)

func (*Agent) Bind

func (a *Agent) Bind(uid cfacade.UID) error

func (*Agent) Close

func (a *Agent) Close()

func (*Agent) IsBind added in v1.3.4

func (a *Agent) IsBind() bool

func (*Agent) Kick

func (a *Agent) Kick(reason interface{}, closed bool)

func (*Agent) Push

func (a *Agent) Push(route string, val interface{})

func (*Agent) RemoteAddr

func (a *Agent) RemoteAddr() string

func (*Agent) Response

func (a *Agent) Response(session *cproto.Session, v interface{}, isError ...bool)

func (*Agent) ResponseCode

func (a *Agent) ResponseCode(session *cproto.Session, statusCode int32, isError ...bool)

func (*Agent) ResponseMID

func (a *Agent) ResponseMID(mid uint32, v interface{}, isError ...bool)

func (*Agent) Run

func (a *Agent) Run()

func (*Agent) SID

func (a *Agent) SID() cfacade.SID

func (*Agent) SendPacket added in v1.3.6

func (a *Agent) SendPacket(typ pomeloPacket.Type, data []byte)

func (*Agent) SendRaw

func (a *Agent) SendRaw(bytes []byte)

func (*Agent) Session

func (a *Agent) Session() *cproto.Session

func (*Agent) SetLastAt

func (a *Agent) SetLastAt()

func (*Agent) SetState

func (a *Agent) SetState(state int32) bool

func (*Agent) State

func (a *Agent) State() int32

func (*Agent) UID

func (a *Agent) UID() cfacade.UID

func (*Agent) Unbind

func (a *Agent) Unbind()

type Command

type Command struct {
	// contains filtered or unexported fields
}

type DataRouteFunc

type DataRouteFunc func(agent *Agent, route *pmessage.Route, msg *pmessage.Message)

type OnCloseFunc

type OnCloseFunc func(*Agent)

type OnNewAgentFunc

type OnNewAgentFunc func(newAgent *Agent)

type PacketFunc

type PacketFunc func(agent *Agent, packet *ppacket.Packet)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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