server.go 683 B

123456789101112131415161718192021222324252627282930313233
  1. package server
  2. import (
  3. "bet24.com/servers/micros/common"
  4. "bet24.com/servers/micros/notification/subscribe/client"
  5. "context"
  6. )
  7. var _addr string
  8. func Run(addr, consulAddr string, sink func(int, string)) {
  9. _addr = addr
  10. common.RunWithoutChangeTitle(_addr, newHandler(sink), consulAddr)
  11. }
  12. func GetAddr() string {
  13. return _addr
  14. }
  15. func newHandler(sink func(int, string)) *SubscribeServer {
  16. ret := new(SubscribeServer)
  17. ret._callback = sink
  18. return ret
  19. }
  20. type SubscribeServer struct {
  21. _callback func(int, string)
  22. }
  23. func (s *SubscribeServer) OnNotification(ctx context.Context, req *client.Request, reply *client.Reply) error {
  24. s._callback(req.UserId, req.Data)
  25. return nil
  26. }