one::Router

Readers send input events to the router, which distributes them, as needed, to its agents before sending them to the various output channels. Table 9.1 gives the mapping from each agent to the request and message class types for which it bears responsbility, though in many cases no analysis is currently performed, with the router acting only as a multiplexer to relay events to the downstream receivers. The two agents Runner and Bookkeeper are closely coupled in function, as suggested by the lack and multiplicity of message types for the first and second, respectively, and the implementation of these two agents is in particular likely to change significantly in the future. The agent classes are arranged according to the derivation hierarchy of Figure [*].


Table 9.1: Agents, requests, and messages
Agent Requests Messages
Contracts ReqConData Contract
    BondData
TickerTape ReqMktData Price
  EndMktData Quant
Specialist ReqMktBook Depth
  EndMktBook Depth2
Historian ReqHistory History
  EndHistory  
Reporter ReqBulletin Bulletin
  EndBulletin  
  ReqScanParms ScanParms
  ReqScanSub ScanData
  EndScanSub  
Runner PlaceOrder  
  CancelOrder  
  ExerciseOpts  
Bookkeeper OpenOrders Status
  AccountData KeyValue
  Executions Execution
  AllOpens Open
    Portfolio
    UpdateTime
FinAdvisor AutoOpens  
  ManagedAccts Accounts
  FinAdvisor Advisor
  ReplaceFa  


Bill Pippin 2010-01-14