Configuration ============= x Pre-configured values in C-sources or shall everything be specified in the configuration? [ full-config, less prone to errors if all in one place ] - Default header size can be computed using defined 'struct', but thats it. - Do not try to compute maximum packet size, etc. x Drop all computable parameters from the config [ with a few exceptions ] - Should be possible to have network receiver without configuring the rest of the ROOF - Should be possible to keep both dataset size in network config (to avoid rewriting) and the ROOF hardware configuration, but they should match - n_streams vs. n_modules: having multiple streams per module in future - samples_per_rotations vs. sample_rate / image_rate: Don't know what happens with Switch rate control, etc.? x How precise we should verify configuration consistency? [ implement JSON schema at some point ] x Propogate broken frames by default? Or just drop marking the missing frames with metadata. [ ingest when necessary ] - I.e. provide filter removing the broken frame or the one generating when necessary (to ingest the uninterrupted flow in the standard UFO filters)? - How to handle partially broken frames? x How to handle data planes? [ metadata passes trough processors, but not reductors ] - Metadata seems preserved while passing trough standard UFO filters. So, this is easiest way out. - We can build a stand-alone subgraph for each plane, but this likely involves a full data copy. - This probably OK for simple use case: "raw storage + visualization" as only two instances, but for could be too challenging for multi-plane analysis.