View Source Runbox.Runtime.Simple.ComponentNetwork (runbox v21.2.0)
Component network builds and validates template dependency network for Simple scenario runtime.
The component network for Simple scenarios is quite simple.
- first you have input topics, usually followed by tick timezip for each of them
- following is a timezip zipping all input topics into a single stream
- the stream is processed by the template which is the heart of the scenario, it produces a stream of output actions
- finally there's an output sink executing the output actions
Summary
Types
@type component() :: template() | input() | tick_timezip() | output_sink() | timezip()
@type input() :: {:input_topic | :load_topic, topic :: String.t()}
@type output_sink() :: :output_sink
@type t() :: [component()]
@type template() :: {:template, module()}
@type tick_timezip() :: {:tick_timezip, topic :: String.t()}
@type timezip() :: {:timezip, to_zip :: [component()]}