Multiplexing Guidelines
Whisperer Enterprise requires the configuration of at least one 'User' to be used for a given Session. In general a single User should be associated with a single Venue/Session, although there is some flexibility as set out below.
| Venue Type | |||
|---|---|---|---|
| SessionType | CLOB | Maker | Taker |
| Pricing | The Client may organise subscriptions across Users as it deems fit. Venues may reject multiple identical requests, so care should be taken to ensure that there is a clear demarcation of responsibility across Users. Only the last user to logout from a venue will cause Whisperer to logout from the Venue. It follows then that when multiple users are configured, when logging off prior users, it is the responsibility of the Whisperer Client to ensure that the user session is cleaned up correctly prior to logout. | The Client may organise subscriptions across Users as it deems fit. Venues may reject multiple identical requests, so care should be taken to ensure that there is a clear demarcation of responsibility across Users. Only the last user to logout from a venue will cause Whisperer to logout from the Venue. It follows then that when multiple users are configured, when logging off prior users, it is the responsibility of the Whisperer Client to ensure that the user session is cleaned up correctly prior to logout. | A single User must be defined. This avoids the need for configuration and logic to be maintained within MarketFactory to route each Venue ESP QuoteRequest to specific individual Users. |
| Orders | The Whisperer Client may distribute Orders across Users as it deems fit. | The Whisperer Client may distribute Orders across Users as it deems fit. | A single User must be defined. This avoids the need for configuration and logic to be maintained within MarketFactory to route each Venue ESP Order to specific individual Users. |
| RFS | - | The Whisperer Client may distribute RFQ and/or RFS across Users as it deems fit. | A single User must be defined. This avoids the need for configuration and logic to be maintained within MarketFactory to route each Venue RFS/RFQ QuoteRequest to specific individual Users. |
| DropCopy | This is a single feed per Venue, delivering trade notifications from the Venue to to the Customer. A single User is defined. This avoids the need for configuration and logic to be maintained within MarketFactory to route trade notifications from the Venue to specific individual users. | ||
Logon
TODO
Illustrate Multiplexing - multiple users connecting to Venue. First user triggers logon, last user triggers logout.
A single user connection failure triggers logout, which in turn triggers graceful logout of all other users. Associated order cancellation message may be generated by venue. Whilst most users will receive these during their logout cycle, the failed user will receive these on next session synchronisation.
FIX Session Synchronisation with Multiplexed Users
In the event of a Venue FIX Session failure, session synchronisation will be triggered when the first Client User reconnects. Specific implications relating to this are discussed below.
Feed Handler Detection of Venue Sequence Number Gaps
In this case any resent messages will only be forwarded to the Client when the correct Client User finally reconnects. This implies that state should be persisted across Venue Connections.
Venue Detection of Feed Handler Sequence Number Gaps
The first Client User to reconnect will trigger FIX message resends from the Feed Handler to the Venue for all affected Client User Sessions. Any messages sent by the Venue in response will only be forwarded to the Client when the correct Client User finally reconnects.
Client Session Synchronisation
Any Client User messages delivered during Client Session synchronisation will only be forwarded when that User finally reconnects to the Venue. This may be some considerable period after the FIX session has been established, from the Venues perspective. This scenario is thus subject to the same caveats as outlined above.