Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Serve ¶
func Serve(ctx context.Context, rd *RxDispatcher, id *InterceptDispatcher, td *TxDispatcher)
Serve starts to serve.
Types ¶
type InterceptDispatcher ¶
type InterceptDispatcher struct {
// contains filtered or unexported fields
}
InterceptDispatcher represents event dispatcher.
func NewInterceptDispatcher ¶
func NewInterceptDispatcher() *InterceptDispatcher
NewInterceptDispatcher creates a new InterceptDispatcher instance.
func (*InterceptDispatcher) Register ¶
func (d *InterceptDispatcher) Register(h InterceptHandler)
Register registers handlers.
type InterceptHandler ¶
type InterceptHandler interface {
// Detect returns true when this handler needs to handle the event.
Detect(evt interface{}) bool
// Handle handles event from inbound channel (inEvtChan) and emits event to outbound channel (outevtChan).
Handle(ctx context.Context, inEvtChan <-chan interface{}) (outEvtChan <-chan interface{})
}
InterceptHandler represents entercept handler.
type RxDispatcher ¶
type RxDispatcher struct {
// contains filtered or unexported fields
}
RxDispatcher represents message dispatcher at receiver side.
func NewRxDispatcher ¶
func NewRxDispatcher(msgChan <-chan interface{}) *RxDispatcher
NewRxDispatcher creates a new RxDispatcher instance.
func (*RxDispatcher) Register ¶
func (d *RxDispatcher) Register(h RxHandler)
Register registers handlers.
type RxHandler ¶
type RxHandler interface {
// Detect returns true when this handler needs to handle the message
Detect(msg interface{}) bool
// Handle handles message from inbound channel (msgChan) and emits event to outbound channel (evtChan).
Handle(ctx context.Context, msgChan <-chan interface{}) (evtChan <-chan interface{})
}
RxHandler represents message handler at receiver side.
type TxDispatcher ¶
type TxDispatcher struct {
// contains filtered or unexported fields
}
TxDispatcher represents event dispatcher at transmitter side.
func NewTxDispatcher ¶
func NewTxDispatcher(msgChan chan<- interface{}) *TxDispatcher
NewTxDispatcher creates a new TxDispatcher instance.
func (*TxDispatcher) Register ¶
func (d *TxDispatcher) Register(h TxHandler)
Register registers TxHandler to TxDispatcher.
type TxHandler ¶
type TxHandler interface {
// Detect returns true when this handler needs to handle the event.
Detect(evt interface{}) bool
// Handle handles event from inbound channel (evtChan) and emits message to outband channel (msgChan).
Handle(ctx context.Context, evtChan <-chan interface{}) (msgChan <-chan interface{})
}
TxHandler represents event handler at transmitter side.
Click to show internal directories.
Click to hide internal directories.