Documentation
¶
Overview ¶
gensrv provides a wrapper around genserver that removes the need for a callback struct, by using reflection to match callback arguments to functions.
Index ¶
- func Start[State any](self erl.PID, arg any, opts ...GenSrvOpt[State]) (erl.PID, error)
- func StartLink[State any](self erl.PID, arg any, opts ...GenSrvOpt[State]) (erl.PID, error)
- func StartMonitor[State any](self erl.PID, arg any, opts ...GenSrvOpt[State]) (erl.PID, erl.Ref, error)
- type CB
- func (s *CB[State]) HandleCall(self erl.PID, request any, from genserver.From, state State) (genserver.CallResult[State], error)
- func (s *CB[State]) HandleCast(self erl.PID, anymsg any, state State) (genserver.CastResult[State], error)
- func (s *CB[State]) HandleContinue(self erl.PID, continuation any, state State) (State, any, error)
- func (s *CB[State]) HandleInfo(self erl.PID, anymsg any, state State) (genserver.InfoResult[State], error)
- func (s *CB[State]) Init(self erl.PID, args any) (genserver.InitResult[State], error)
- func (s *CB[State]) Terminate(self erl.PID, reason error, state State)
- type CallHandle
- type CastHandle
- type GenSrvOpt
- func RegisterCall[State any](matchType any, ...) GenSrvOpt[State]
- func RegisterCast[State any](matchType any, ...) GenSrvOpt[State]
- func RegisterContinue[State any](matchType any, ...) GenSrvOpt[State]
- func RegisterInfo[State any](matchType any, ...) GenSrvOpt[State]
- func RegisterInit[State any](init func(self erl.PID, a any) (genserver.InitResult[State], error)) GenSrvOpt[State]
- func RegisterTerminate[State any](terminate func(self erl.PID, reason error, state State)) GenSrvOpt[State]
- func SetName[State any](name erl.Name) GenSrvOpt[State]
- func SetStartTimeout[State any](tout time.Duration) GenSrvOpt[State]
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type CB ¶
type CB[State any] struct { // contains filtered or unexported fields }
The callback implementation
func (*CB[State]) HandleCall ¶
func (*CB[State]) HandleCast ¶
func (*CB[State]) HandleContinue ¶
func (*CB[State]) HandleInfo ¶
type CallHandle ¶
type CastHandle ¶
type GenSrvOpt ¶
type GenSrvOpt[State any] func(c *config[State])
func RegisterCall ¶
func RegisterCast ¶
func RegisterContinue ¶
func RegisterInfo ¶
func RegisterInit ¶
func RegisterTerminate ¶
Click to show internal directories.
Click to hide internal directories.