Documentation
¶
Overview ¶
Package server is an interface for a micro server
Index ¶
- Variables
- type Message
- type Option
- func Address(a string) Option
- func ID(id string) Option
- func Metadata(md map[string]string) Option
- func Name(n string) Option
- func RegisterInterval(t time.Duration) Option
- func Registry(r registry.Registry) Option
- func RoutineCount(num int) Option
- func Version(v string) Option
- func Wait(b bool) Option
- type Options
- type Request
- type Server
- type Stream
Constants ¶
This section is empty.
Variables ¶
View Source
var ( DefaultAddress = ":0" DefaultName = "go-server" DefaultVersion = "1.0.0" DefaultID = uuid.NewUUID().String() )
Functions ¶
This section is empty.
Types ¶
type Option ¶
type Option func(*Options)
func RegisterInterval ¶
RegisterInterval specifies the interval on which to re-register
func RoutineCount ¶
type Options ¶
type Options struct { Registry registry.Registry Metadata map[string]string Name string Address string ID string Version string RegisterInterval time.Duration // Other options for implementations of the interface // can be stored in a context Context context.Context RoutineCount int // RPC Server Routine Channel Buffer Length }
type Server ¶
type Server interface { Options() Options OnInit(module module.Module, app module.App, settings *conf.ModuleSettings) error Init(...Option) error SetListener(listener mqrpc.RPCListener) SetGoroutineControl(control mqrpc.GoroutineControl) Register(id string, f interface{}) RegisterGO(id string, f interface{}) ServiceRegister() error ServiceDeregister() error Start() error Stop() error OnDestroy() error String() string ID() string }
type Stream ¶
type Stream interface { Context() context.Context Request() Request Send(interface{}) error Recv(interface{}) error Error() error Close() error }
Stream represents a stream established with a client. A stream can be bidirectional which is indicated by the request. The last error will be left in Error(). EOF indicated end of the stream.
Click to show internal directories.
Click to hide internal directories.