created a non-blocking router
parent
63bc3f98b9
commit
4bb10531bb
|
@ -0,0 +1,30 @@
|
|||
package flog
|
||||
|
||||
|
||||
// NewNonBlockingRouter returns an initialized NonBlockingRouter.
|
||||
func NewNonBlockingRouter(subrouter Router) *NonBlockingRouter {
|
||||
router := NonBlockingRouter{
|
||||
subrouter:subrouter,
|
||||
}
|
||||
|
||||
return &router
|
||||
}
|
||||
|
||||
|
||||
// NonBlockingRouter is a Router when its Route method is call its does not
|
||||
// block and dealing with the routing in parallel.
|
||||
//
|
||||
// Note that this means that if the application could terminate before this
|
||||
// completes.
|
||||
type NonBlockingRouter struct {
|
||||
subrouter Router
|
||||
}
|
||||
|
||||
|
||||
func (router *NonBlockingRouter) Route(message string, context map[string]interface{}) error {
|
||||
go func() {
|
||||
router.subrouter.Route(message, context)
|
||||
}()
|
||||
|
||||
return nil
|
||||
}
|
Loading…
Reference in New Issue