diff --git a/server/server.go b/server/server.go index 21e05e9f..136ae6f9 100644 --- a/server/server.go +++ b/server/server.go @@ -16,14 +16,23 @@ import ( // Server is a simple micro server abstraction type Server interface { - Options() Options + // Initialise options Init(...Option) error + // Retrieve the options + Options() Options + // Register a handler Handle(Handler) error + // Create a new handler NewHandler(interface{}, ...HandlerOption) Handler + // Create a new subscriber NewSubscriber(string, interface{}, ...SubscriberOption) Subscriber + // Register a subscriber Subscribe(Subscriber) error + // Start the server Start() error + // Stop the server Stop() error + // Server implementation String() string } @@ -116,7 +125,8 @@ type Handler interface { } // Subscriber interface represents a subscription to a given topic using -// a specific subscriber function or object with endpoints. +// a specific subscriber function or object with endpoints. It mirrors +// the handler in its behaviour. type Subscriber interface { Topic() string Subscriber() interface{} diff --git a/service.go b/service.go index f3ba2086..00967ea6 100644 --- a/service.go +++ b/service.go @@ -115,7 +115,7 @@ func (s *service) Init(opts ...Option) { s.opts.Store.Init(store.Table(name)) // Set the client for the micro clients - s.opts.Auth.Init(auth.WithClient(s.Client())) + // s.opts.Auth.Init(auth.WithClient(s.Client())) s.opts.Runtime.Init(runtime.WithClient(s.Client())) s.opts.Store.Init(store.WithClient(s.Client())) })