Change-Id: I12c3034f4fceb869bba24c5c38546bcca087445d
Signed-off-by: Mohamed Abukar <abukar.mohamed@nokia.com>
func (r *Router) serviceChecker(inner http.HandlerFunc) http.HandlerFunc {
return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
Logger.Info("restapi: method=%s url=%s", req.Method, req.URL.RequestURI())
- if req.URL.RequestURI() == AliveURL || (Rmr.IsReady() && r.CheckStatus()) {
+ if req.URL.RequestURI() == AliveURL || r.CheckStatus() {
inner.ServeHTTP(w, req)
} else {
respondWithJSON(w, http.StatusServiceUnavailable, nil)
}
m.UpdateStatCounter("Received")
+ m.msgWg.Add(1)
go m.parseMessage(rxBuffer)
+ m.msgWg.Wait()
}
}
func (m *RMRClient) parseMessage(rxBuffer *C.rmr_mbuf_t) {
+ defer m.msgWg.Done()
if len(m.consumers) == 0 {
Logger.Info("rmrClient: No message handlers defined, message discarded!")
return
context unsafe.Pointer
ready int
wg sync.WaitGroup
+ msgWg sync.WaitGroup
mux sync.Mutex
stat map[string]Counter
consumers []MessageConsumer