Skip to content

Draft: Channel glancing device to overcome networking barriers

David Hammer requested to merge channel-glancer into master

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:

  1. Bind dataOutput to ethernet - very bad, will kill network
  2. 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
  3. 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
  4. 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 under mirror node

@kluyvert @schmidtp opinions?

Merge request reports