Documentation ¶
Index ¶
- type Engine
- func (e *Engine) Done() <-chan struct{}
- func (e *Engine) Process(channel channels.Channel, originID flow.Identifier, event interface{}) error
- func (e *Engine) Ready() <-chan struct{}
- func (e *Engine) RegisterEngine(engine network.MessageProcessor)
- func (e *Engine) UnregisterEngine(engine network.MessageProcessor)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Engine ¶
type Engine struct {
// contains filtered or unexported fields
}
Engine is the splitter engine, which maintains a list of registered engines and passes every event it receives to each of these engines in parallel.
func (*Engine) Done ¶
func (e *Engine) Done() <-chan struct{}
Done returns a done channel that is closed once the engine has fully stopped.
func (*Engine) Process ¶
func (e *Engine) Process(channel channels.Channel, originID flow.Identifier, event interface{}) error
Process processes the given event from the node with the given origin ID in a blocking manner. It returns the potential processing error when done.
func (*Engine) Ready ¶
func (e *Engine) Ready() <-chan struct{}
Ready returns a ready channel that is closed once the engine has fully started.
func (*Engine) RegisterEngine ¶
func (e *Engine) RegisterEngine(engine network.MessageProcessor)
RegisterEngine registers a new engine with the splitter. Events that are received by the splitter after the engine has registered will be passed down to it.
func (*Engine) UnregisterEngine ¶
func (e *Engine) UnregisterEngine(engine network.MessageProcessor)
UnregisterEngine unregisters an engine with the splitter. After the engine has been unregistered, the splitter will stop passing events to it. If the given engine was never registered, this is a noop.