Documentation
¶
Index ¶
- func NewBasicLogger(l SimpleLogger) *basicLogger
- func NewBasicSimpleLogger(l SmallestLogger) *basicSimpleLogger
- func NewDefaultLogger() *basicLogger
- func SetDefaultLogger(logger Logger)
- type BasicPeer
- func (p *BasicPeer) Close() error
- func (p *BasicPeer) GetGameServer() GameServer
- func (p *BasicPeer) GetId() int
- func (p *BasicPeer) GetLogger() Logger
- func (p *BasicPeer) GetTag() string
- func (p *BasicPeer) OnClose(f func(p *BasicPeer) error) *BasicPeer
- func (p *BasicPeer) OnStart(f func(p *BasicPeer)) *BasicPeer
- func (p *BasicPeer) OnWrite(f func(data []byte, p *BasicPeer) error) *BasicPeer
- func (p *BasicPeer) SetId(id int)
- func (p *BasicPeer) SetLogger(l Logger)
- func (p *BasicPeer) SetTag(t string)
- func (p *BasicPeer) Start()
- func (p *BasicPeer) WithLogger(l Logger) *BasicPeer
- func (p *BasicPeer) WithTag(t string) *BasicPeer
- func (p *BasicPeer) Write(data []byte) error
- type EventDrivenServer
- func (s *EventDrivenServer) AddPeer(p Peer) int
- func (s *EventDrivenServer) AfterAddPeer(f func(newPeer Peer, s *EventDrivenServer)) *EventDrivenServer
- func (s *EventDrivenServer) AfterRemovePeer(f func(targetId int, s *EventDrivenServer)) *EventDrivenServer
- func (s *EventDrivenServer) AppendPeerMsg(peerId int, d []byte)
- func (s *EventDrivenServer) BeforeAddPeer(f func(newPeer Peer, s *EventDrivenServer)) *EventDrivenServer
- func (s *EventDrivenServer) BeforeProcPeerMsg(f func(m *PeerMsg, s *EventDrivenServer)) *EventDrivenServer
- func (s *EventDrivenServer) BeforeRemovePeer(f func(targetId int, s *EventDrivenServer)) *EventDrivenServer
- func (s *EventDrivenServer) GetLogger() Logger
- func (s *EventDrivenServer) GetPeer(id int) Peer
- func (s *EventDrivenServer) GetPeerCount() int
- func (s *EventDrivenServer) GetPeers() map[int]Peer
- func (s *EventDrivenServer) OnPeerMsg(f func(m *PeerMsg, s *EventDrivenServer)) *EventDrivenServer
- func (s *EventDrivenServer) RemovePeer(peerId int) (err error)
- func (s *EventDrivenServer) SetHandleKeyboardInterrupt(enable bool) *EventDrivenServer
- func (s *EventDrivenServer) Start() (errs []error)
- func (s *EventDrivenServer) Stop()
- func (s *EventDrivenServer) WithLogger(l Logger) *EventDrivenServer
- type GameServer
- type LockstepServer
- func (s *LockstepServer) AddPeer(p Peer) int
- func (s *LockstepServer) AfterAddPeer(f func(newPeer Peer, s *LockstepServer)) *LockstepServer
- func (s *LockstepServer) AfterRemovePeer(f func(targetId int, s *LockstepServer)) *LockstepServer
- func (s *LockstepServer) AppendPeerMsg(peerId int, d []byte)
- func (s *LockstepServer) BeforeAddPeer(f func(newPeer Peer, s *LockstepServer)) *LockstepServer
- func (s *LockstepServer) BeforeProcPeerMsg(f func(m *PeerMsg, s *LockstepServer)) *LockstepServer
- func (s *LockstepServer) BeforeRemovePeer(f func(targetId int, s *LockstepServer)) *LockstepServer
- func (s *LockstepServer) GetCurrentStep() int
- func (s *LockstepServer) GetCurrentStepLength() int
- func (s *LockstepServer) GetLogger() Logger
- func (s *LockstepServer) GetPeer(id int) Peer
- func (s *LockstepServer) GetPeerCount() int
- func (s *LockstepServer) GetPeers() map[int]Peer
- func (s *LockstepServer) OnPeerMsg(f func(m *PeerMsg, s *LockstepServer)) *LockstepServer
- func (s *LockstepServer) OnStep(f func(peerMsgs []PeerMsg, s *LockstepServer)) *LockstepServer
- func (s *LockstepServer) RemovePeer(peerId int) (err error)
- func (s *LockstepServer) SetHandleKeyboardInterrupt(enable bool) *LockstepServer
- func (s *LockstepServer) SetMaxStepLength(maxStepLength int) *LockstepServer
- func (s *LockstepServer) SetMinStepLength(minStepLength int) *LockstepServer
- func (s *LockstepServer) SetStepLength(stepLength int) *LockstepServer
- func (s *LockstepServer) Start() (errs []error)
- func (s *LockstepServer) Stop()
- func (s *LockstepServer) WithLogger(l Logger) *LockstepServer
- type LogLevel
- type Logger
- type Peer
- type PeerMsg
- type SimpleLogger
- type SmallestLogger
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewBasicLogger ¶
func NewBasicLogger(l SimpleLogger) *basicLogger
func NewBasicSimpleLogger ¶
func NewBasicSimpleLogger(l SmallestLogger) *basicSimpleLogger
func NewDefaultLogger ¶
func NewDefaultLogger() *basicLogger
func SetDefaultLogger ¶
func SetDefaultLogger(logger Logger)
Types ¶
type BasicPeer ¶
type BasicPeer struct {
// contains filtered or unexported fields
}
func NewBasicPeer ¶
func NewBasicPeer(gs GameServer) *BasicPeer
Create a basic peer. You should call `WithTag`/`OnWrite`/`OnClose`/`OnStart` after this call.
func (*BasicPeer) GetGameServer ¶
func (p *BasicPeer) GetGameServer() GameServer
func (*BasicPeer) WithLogger ¶
type EventDrivenServer ¶
type EventDrivenServer struct {
// contains filtered or unexported fields
}
func NewEventDrivenServer ¶
func NewEventDrivenServer() *EventDrivenServer
func (*EventDrivenServer) AddPeer ¶
func (s *EventDrivenServer) AddPeer(p Peer) int
Activate a peer, allocate a peerId and manage the peer's lifecycle.
func (*EventDrivenServer) AfterAddPeer ¶
func (s *EventDrivenServer) AfterAddPeer(f func(newPeer Peer, s *EventDrivenServer)) *EventDrivenServer
Register lifecycle hook. At this time the new peer's id has been allocated, and `peers` contains the new peer. This hook may be triggered concurrently.
func (*EventDrivenServer) AfterRemovePeer ¶
func (s *EventDrivenServer) AfterRemovePeer(f func(targetId int, s *EventDrivenServer)) *EventDrivenServer
Register lifecycle hook. The target peer may not exist. If it exists, it must been closed, and been removed from `peers`. This hook may be triggered concurrently.
func (*EventDrivenServer) AppendPeerMsg ¶
func (s *EventDrivenServer) AppendPeerMsg(peerId int, d []byte)
func (*EventDrivenServer) BeforeAddPeer ¶
func (s *EventDrivenServer) BeforeAddPeer(f func(newPeer Peer, s *EventDrivenServer)) *EventDrivenServer
Register lifecycle hook. At this time the new peer's id has been allocated, but `peers` not contains the new peer. This hook won't be triggered concurrently.
func (*EventDrivenServer) BeforeProcPeerMsg ¶
func (s *EventDrivenServer) BeforeProcPeerMsg(f func(m *PeerMsg, s *EventDrivenServer)) *EventDrivenServer
Register lifecycle hook. You can modify or enrich the peer message before process it. This hook may be triggered concurrently.
func (*EventDrivenServer) BeforeRemovePeer ¶
func (s *EventDrivenServer) BeforeRemovePeer(f func(targetId int, s *EventDrivenServer)) *EventDrivenServer
Register lifecycle hook. The target peer may has been closed. The target peer may not exist. This hook may be triggered concurrently.
func (*EventDrivenServer) GetLogger ¶
func (s *EventDrivenServer) GetLogger() Logger
func (*EventDrivenServer) GetPeer ¶
func (s *EventDrivenServer) GetPeer(id int) Peer
Return a peer or nil
func (*EventDrivenServer) GetPeerCount ¶
func (s *EventDrivenServer) GetPeerCount() int
func (*EventDrivenServer) GetPeers ¶
func (s *EventDrivenServer) GetPeers() map[int]Peer
func (*EventDrivenServer) OnPeerMsg ¶
func (s *EventDrivenServer) OnPeerMsg(f func(m *PeerMsg, s *EventDrivenServer)) *EventDrivenServer
Register lifecycle hook. This hook may be triggered concurrently.
func (*EventDrivenServer) RemovePeer ¶
func (s *EventDrivenServer) RemovePeer(peerId int) (err error)
Close the peer and untrack it. Return err if peer not exist.
func (*EventDrivenServer) SetHandleKeyboardInterrupt ¶
func (s *EventDrivenServer) SetHandleKeyboardInterrupt(enable bool) *EventDrivenServer
func (*EventDrivenServer) Start ¶
func (s *EventDrivenServer) Start() (errs []error)
Return errors from peer.Close() when stop the server.
func (*EventDrivenServer) Stop ¶
func (s *EventDrivenServer) Stop()
func (*EventDrivenServer) WithLogger ¶
func (s *EventDrivenServer) WithLogger(l Logger) *EventDrivenServer
type GameServer ¶
type LockstepServer ¶
type LockstepServer struct {
// contains filtered or unexported fields
}
func NewLockstepServer ¶ added in v0.3.0
func NewLockstepServer() *LockstepServer
func (*LockstepServer) AddPeer ¶
func (s *LockstepServer) AddPeer(p Peer) int
Activate a peer, allocate a peerId and manage the peer's lifecycle.
func (*LockstepServer) AfterAddPeer ¶
func (s *LockstepServer) AfterAddPeer(f func(newPeer Peer, s *LockstepServer)) *LockstepServer
Register lifecycle hook. At this time the new peer's id has been allocated, and `peers` contains the new peer. This hook may be triggered concurrently.
func (*LockstepServer) AfterRemovePeer ¶
func (s *LockstepServer) AfterRemovePeer(f func(targetId int, s *LockstepServer)) *LockstepServer
Register lifecycle hook. The target peer may not exist. If it exists, it must been closed, and been removed from `peers`. This hook may be triggered concurrently.
func (*LockstepServer) AppendPeerMsg ¶
func (s *LockstepServer) AppendPeerMsg(peerId int, d []byte)
func (*LockstepServer) BeforeAddPeer ¶
func (s *LockstepServer) BeforeAddPeer(f func(newPeer Peer, s *LockstepServer)) *LockstepServer
Register lifecycle hook. At this time the new peer's id has been allocated, but `peers` not contains the new peer. This hook won't be triggered concurrently.
func (*LockstepServer) BeforeProcPeerMsg ¶
func (s *LockstepServer) BeforeProcPeerMsg(f func(m *PeerMsg, s *LockstepServer)) *LockstepServer
Register lifecycle hook. You can modify or enrich the peer message before process it. This hook may be triggered concurrently.
func (*LockstepServer) BeforeRemovePeer ¶
func (s *LockstepServer) BeforeRemovePeer(f func(targetId int, s *LockstepServer)) *LockstepServer
Register lifecycle hook. The target peer may has been closed. The target peer may not exist. This hook may be triggered concurrently.
func (*LockstepServer) GetCurrentStep ¶
func (s *LockstepServer) GetCurrentStep() int
func (*LockstepServer) GetCurrentStepLength ¶
func (s *LockstepServer) GetCurrentStepLength() int
func (*LockstepServer) GetLogger ¶
func (s *LockstepServer) GetLogger() Logger
func (*LockstepServer) GetPeer ¶
func (s *LockstepServer) GetPeer(id int) Peer
Return a peer or nil.
func (*LockstepServer) GetPeerCount ¶
func (s *LockstepServer) GetPeerCount() int
func (*LockstepServer) GetPeers ¶
func (s *LockstepServer) GetPeers() map[int]Peer
func (*LockstepServer) OnPeerMsg ¶
func (s *LockstepServer) OnPeerMsg(f func(m *PeerMsg, s *LockstepServer)) *LockstepServer
Register lifecycle hook. This hook may be triggered concurrently.
func (*LockstepServer) OnStep ¶
func (s *LockstepServer) OnStep(f func(peerMsgs []PeerMsg, s *LockstepServer)) *LockstepServer
Register lifecycle hook. This hook may be triggered concurrently.
func (*LockstepServer) RemovePeer ¶
func (s *LockstepServer) RemovePeer(peerId int) (err error)
Close the peer and untrack it. Return err if peer not exist.
func (*LockstepServer) SetHandleKeyboardInterrupt ¶
func (s *LockstepServer) SetHandleKeyboardInterrupt(enable bool) *LockstepServer
func (*LockstepServer) SetMaxStepLength ¶
func (s *LockstepServer) SetMaxStepLength(maxStepLength int) *LockstepServer
Set the max step length and ensure the current step length is valid.
func (*LockstepServer) SetMinStepLength ¶
func (s *LockstepServer) SetMinStepLength(minStepLength int) *LockstepServer
Set the min step length and ensure the current step length is valid.
func (*LockstepServer) SetStepLength ¶
func (s *LockstepServer) SetStepLength(stepLength int) *LockstepServer
Set the current step length. The step length won't be higher than `maxStepLength` and lower than `minStepLength`.
func (*LockstepServer) Start ¶
func (s *LockstepServer) Start() (errs []error)
Return errors from peer.Close() when stop the server.
func (*LockstepServer) Stop ¶
func (s *LockstepServer) Stop()
func (*LockstepServer) WithLogger ¶
func (s *LockstepServer) WithLogger(l Logger) *LockstepServer
type Logger ¶
type Logger interface { Trace(v ...interface{}) Debug(v ...interface{}) Info(v ...interface{}) Warn(v ...interface{}) Error(v ...interface{}) Fatal(v ...interface{}) Panic(v ...interface{}) Tracef(format string, v ...interface{}) Debugf(format string, v ...interface{}) Infof(format string, v ...interface{}) Warnf(format string, v ...interface{}) Errorf(format string, v ...interface{}) Fatalf(format string, v ...interface{}) Panicf(format string, v ...interface{}) }
You can use `NewBasicLogger` to create a Logger.
func GetDefaultLogger ¶
func GetDefaultLogger() Logger
Get the existing or create a new default logger.
type SimpleLogger ¶
type SimpleLogger interface { Trace(v ...interface{}) Debug(v ...interface{}) Info(v ...interface{}) Warn(v ...interface{}) Error(v ...interface{}) Fatal(v ...interface{}) Panic(v ...interface{}) }
You can use `NewBasicSimpleLogger` to create a SimpleLogger.
type SmallestLogger ¶
type SmallestLogger interface {
Print(v ...interface{})
}
Directories
¶
Path | Synopsis |
---|---|
example
|
|
peers
|
|
plugin
|
|
network/kcp
Module
|
|
network/kcp-smux
Module
|
|
network/websocket
Module
|
|
stream/kinesis
Module
|