|
| void | Enqueue (IDataFeedConnector connector, TMessage message) |
| |
| void | Enqueue (IDataFeedConnector connector, Action action) |
| |
| void | EnqueueContinuation (IDataFeedConnector connector, Action continuation) |
| | Queues an await continuation of the connector's thread (the connector's synchronization context).
A continuation belongs to the connection session it was posted in: once that session has ended (the connector's final disconnect stopped the queue), it must not run in a later one - it would resume the code of an abandoned connect attempt or of a closed connection inside the new connection (complete the new attempt, start transports, process stale data). Unlike a message queued while the connector is disconnected, which waits for the next connect, a continuation posted after its session ended is dropped.
The default implementation queues it as an ordinary action.
|
| |
| void | Start (IDataFeedConnector connector, Action< TMessage > handler) |
| |
| void | Stop (IDataFeedConnector connector) |
| |
| void | Enqueue (IDataFeedConnector connector, TMessage message) |
| |
| void | Enqueue (IDataFeedConnector connector, Action action) |
| |
| void | EnqueueContinuation (IDataFeedConnector connector, Action continuation) |
| | Queues an await continuation of the connector's thread (the connector's synchronization context).
A continuation belongs to the connection session it was posted in: once that session has ended (the connector's final disconnect stopped the queue), it must not run in a later one - it would resume the code of an abandoned connect attempt or of a closed connection inside the new connection (complete the new attempt, start transports, process stale data). Unlike a message queued while the connector is disconnected, which waits for the next connect, a continuation posted after its session ended is dropped.
The default implementation queues it as an ordinary action.
|
| |
| void | Start (IDataFeedConnector connector, Action< TMessage > handler) |
| |
| void | Stop (IDataFeedConnector connector) |
| |
A queue processed by its own thread.
The queue runs in sessions: Start begins one (the first connector of a shared queue), Stop ends it (the last connector). An item belongs to the session it was queued in: the items still queued when the session ends are dropped - also when the next session has already begun (a connect issued right after a disconnect) and the thread of the stopped session goes on to serve it. A message or an action queued while no session runs waits for the next session (unless a thread of the stopped queue is still alive and drops it); a continuation (EnqueueContinuation) queued after a session ended is dropped, it never runs in a later session.
Queues an await continuation of the connector's thread (the connector's synchronization context).
A continuation belongs to the connection session it was posted in: once that session has ended (the connector's final disconnect stopped the queue), it must not run in a later one - it would resume the code of an abandoned connect attempt or of a closed connection inside the new connection (complete the new attempt, start transports, process stale data). Unlike a message queued while the connector is disconnected, which waits for the next connect, a continuation posted after its session ended is dropped.
The default implementation queues it as an ordinary action.
Implements ATAS.DataFeedsCore.IMessageQueue< TMessage >.