Add pub/sub to client/server and make broker more low level

This commit is contained in:
Asim
2015-06-12 19:52:27 +01:00
parent cdf2f2cbcd
commit b91af916f9
24 changed files with 542 additions and 193 deletions

View File

@@ -14,6 +14,8 @@ type Server interface {
Init(...Option)
Handle(Handler) error
NewHandler(interface{}) Handler
NewSubscriber(string, interface{}) Subscriber
Subscribe(Subscriber) error
Register() error
Deregister() error
Start() error
@@ -45,6 +47,10 @@ func NewServer(opt ...Option) Server {
return newRpcServer(opt...)
}
func NewSubscriber(topic string, h interface{}) Subscriber {
return DefaultServer.NewSubscriber(topic, h)
}
func NewHandler(h interface{}) Handler {
return DefaultServer.NewHandler(h)
}
@@ -53,6 +59,10 @@ func Handle(h Handler) error {
return DefaultServer.Handle(h)
}
func Subscribe(s Subscriber) error {
return DefaultServer.Subscribe(s)
}
func Register() error {
return DefaultServer.Register()
}
@@ -78,9 +88,6 @@ func Run() error {
return err
}
log.Infof("Deregistering %s", DefaultServer.Config().Id())
DefaultServer.Deregister()
return Stop()
}