Draft: Channel glancing device to overcome networking barriers
This was prompted by the discussion arising from the fact that - when we bind the output channel of a correction device to IB - the GUI can no longer subscribe to the channel and thus cannot see meta(ish)data like the cell table (data.frameNumber
or image.cellId
depending on detector).
Several options for how to solve:
- Bind
dataOutput
to ethernet - very bad, will kill network - Provide separate output channel with only small meta(ish)data and bind that to ethernet - less bad, does add overhead and complexity to all correction devices even when nobody is looking
- Same thing but make it a node with some properties on correction devices - similar concern to 2 with added downside of straining broker, but advantage of being very inspectable
- Have an entirely different device with access to IB look at output on demand and then provide the interesting bits in the style of 2 or 3
This is an implementation of 4. Essentially just a silly proxy for an output channel with some characteristics:
- It only subscribes briefly upon request to grab one hash (we won't want to duplicate full stream all the time)
- It only forwards a subset of keys specified by
keysToForward
- It can provide them either on a channel
output
or as properties undermirror
node