actor

package
v1.2.20 Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2022 License: GPL-3.0 Imports: 23 Imported by: 5

Documentation

Index

Constants

View Source
const (
	DefaultSysAddr     = ":8888"
	DefaultProfileAddr = ":8760"
)
View Source
const DefaultTimeout = time.Second * 10

Variables

This section is empty.

Functions

func ActorInfo added in v1.2.18

func ActorInfo(sys *System) func(writer http.ResponseWriter, r *http.Request)

func ClusterInfo added in v1.2.18

func ClusterInfo(sys *System) func(writer http.ResponseWriter, r *http.Request)

func LDebug

func LDebug(l *lua.LState) int

func LError

func LError(l *lua.LState) int

func LGoVersion

func LGoVersion(l *lua.LState) int

func LWarn

func LWarn(l *lua.LState) int

func New

func New(id string, handler spawnActor, opt ...Option) *actor

New build a new actor id is invalid if contain '@' or '$'

func ParseRequestId

func ParseRequestId(requestId string) (sourceId string, targetId string, sourceAddr string, ok bool)

Types

type Actor added in v1.0.4

type Actor interface {
	ID() string
	System() *System
	Exit()

	Timer
	Sender

	CallLua(name string, ret int, args ...lua.LValue) []lua.LValue
}

type Base

type Base struct {
	Actor
}

func (*Base) OnHandleEvent

func (s *Base) OnHandleEvent(event interface{})

func (*Base) OnHandleMessage

func (s *Base) OnHandleMessage(sourceId, targetId string, msg interface{})

func (*Base) OnHandleRequest

func (s *Base) OnHandleRequest(sourceId, targetId, requestId string, msg interface{}) (respErr error)

func (*Base) OnInit

func (s *Base) OnInit()

func (*Base) OnStop

func (s *Base) OnStop() bool

type EvClusterUpdate added in v1.0.7

type EvClusterUpdate struct {
	ActorId string
	Host    string
	Add     bool
}

type EvDelActor added in v1.2.16

type EvDelActor struct {
	ActorId     string
	Publish     bool
	FromCluster bool
}

type EvNewActor added in v1.2.16

type EvNewActor struct {
	ActorId     string
	Publish     bool
	FromCluster bool
}

type EvSessionClosed added in v1.2.16

type EvSessionClosed struct {
	PeerHost string
}

type EvSessionOpened added in v1.2.16

type EvSessionOpened struct {
	PeerHost string
}

type Option added in v1.1.10

type Option func(*actor)

func SetLocalized

func SetLocalized() Option

func SetLua

func SetLua(path string) Option

func SetMailBoxSize

func SetMailBoxSize(boxSize int) Option

type Profile added in v1.2.18

type Profile struct {
	ActorId     string
	Len         int
	Cap         int
	LastMsg     string
	ProcessTime string
}

type Sender added in v1.1.1

type Sender interface {
	Send(targetId string, msg interface{}) error
	Request(targetId string, msg interface{}, timeout ...time.Duration) (req *request)
	RequestWait(targetId string, msg interface{}, timeout ...time.Duration) (result interface{}, err error)
	Response(requestId string, msg interface{}) error
}

type System

type System struct {
	CStop chan struct{}
	// contains filtered or unexported fields
}

func NewSystem

func NewSystem(op ...SystemOption) (*System, error)

func (*System) Add added in v1.1.13

func (s *System) Add(actor *actor) error

Add startup a new actor

func (*System) Address

func (s *System) Address() string

func (*System) CancelAll

func (ed *System) CancelAll(actorId string)

CancelAll 取消actor事件

func (*System) CancelEvent

func (ed *System) CancelEvent(actorId string, events ...interface{}) error

CancelEvent 取消actor事件

func (*System) Cluster added in v1.2.18

func (s *System) Cluster() *actor

func (*System) DispatchEvent

func (ed *System) DispatchEvent(sourceId string, event interface{})

DispatchEvent 事件触发

func (*System) LocalActor added in v1.2.19

func (s *System) LocalActor(actorId string) *actor

func (*System) ProfileAddr added in v1.2.18

func (s *System) ProfileAddr() string

func (*System) ProtoIndex added in v1.2.2

func (s *System) ProtoIndex() *tools.ProtoIndex

func (*System) RegistEvent

func (ed *System) RegistEvent(actorId string, events ...interface{}) error

RegistEvent 注册actor事件

func (*System) RequestWait added in v1.2.18

func (s *System) RequestWait(targetId string, msg interface{}, timeout ...time.Duration) (resp interface{}, err error)

RequestWait sync request

func (*System) Send

func (s *System) Send(sourceId, targetId, requestId string, msg interface{}) (err error)

Send msg send to target,if target not exist in local cache msg shall send to cluster

func (*System) SetCluster

func (s *System) SetCluster(act *actor)

func (*System) Spawn added in v1.2.18

func (s *System) Spawn(id string, handler spawnActor, op ...Option) (Actor, error)

Spawn create a new actor with startup

func (*System) Stop

func (s *System) Stop()

type SystemOption

type SystemOption func(*System) error

func Addr

func Addr(addr string) SystemOption

func ProfileAddr added in v1.2.18

func ProfileAddr(addr string) SystemOption

func ProtoIndex added in v1.2.0

func ProtoIndex(pi *tools.ProtoIndex) SystemOption

ProtoIndex index proto struct

type Timer added in v1.1.1

type Timer interface {
	AddTimer(timeId string, endAt time.Time, callback func(dt time.Duration), triggerCount ...int) string
	CancelTimer(timerId string)
}

type TmpActor added in v1.2.18

type TmpActor struct {
	Base
	Init          func()
	HandleMessage func(sourceId, targetId string, msg interface{})
	HandleRequest func(sourceId, targetId, requestId string, msg interface{}) error
	HandleEvent   func(event interface{})
}

func (*TmpActor) OnHandleEvent added in v1.2.18

func (s *TmpActor) OnHandleEvent(event interface{})

func (*TmpActor) OnHandleMessage added in v1.2.18

func (s *TmpActor) OnHandleMessage(sourceId, targetId string, msg interface{})

func (*TmpActor) OnHandleRequest added in v1.2.18

func (s *TmpActor) OnHandleRequest(sourceId, targetId, requestId string, msg interface{}) (respErr error)

func (*TmpActor) OnInit added in v1.2.18

func (s *TmpActor) OnInit()

Jump to

Keyboard shortcuts

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