Runbox.Runtime.Simple.ComponentNetwork (runbox v26.0.0)

View Source

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

component()

@type component() :: template() | input() | tick_timezip() | output_sink() | timezip()

input()

@type input() :: {:input_topic | :load_topic, topic :: String.t()}

output_sink()

@type output_sink() :: :output_sink

t()

@type t() :: [component()]

template()

@type template() :: {:template, module()}

tick_timezip()

@type tick_timezip() :: {:tick_timezip, topic :: String.t()}

timezip()

@type timezip() :: {:timezip, to_zip :: [component()]}