...A) API
My application can directly process the data from the Elektron Edge server in the reactor's thread or put it on a queue a process it in a worker thread.
Doing the former certainly takes less time since there is no need to copy the message and place it on a queue and doing the latter keeps the buffer in the Elektron Edge server at minimal levels since the reactor thread is not doing any substantial processing.
Queuing the data adds a bit of latency so I'd like to be able to heuristically set a flag to queue or not based on whether a backlog is accumulating in the Elektron Edge server. I could certainly use a RECONNECT event as such an indicator, but by that time, it's too late and I've most likely lost data during peak processing time.
Being able to query the buffer depth (or if it's already being sent in a field of one of the messages) or to set a flag indicating that the application would like to receive a status update regarding the (backlog) buffer size once a certain threshold (# of msgs or %) is reached would allow the application to tune it's behavior automatically.