public bool ProcessSingleMessage() { // If the client status is unknown, it means it is still trying to login... if (Status == TWSClientStatus.Unknown) { ProcessLogin(); return(true); } if (Status != TWSClientStatus.Connected) { return(false); } var msgCode = _enc.DecodeEnum <ServerMessage>(); switch (msgCode) { case ServerMessage.SetServerLogLevel: ProcessSetServerLogLevel(); break; case ServerMessage.RequestAccountData: ProcessAccountDataRequest(); break; case ServerMessage.RequestContractData: ProcessContractDataRequest(); break; case ServerMessage.RequestCurrentTime: ProcessCurrentTimeRequest(); break; case ServerMessage.RequestMarketData: ProcessMarketDataRequest(); break; case ServerMessage.CancelMarketData: ProcessMarketDataCancel(); break; case ServerMessage.RequestMarketDepth: ProcessMarketDepthRequest(); break; case ServerMessage.CancelMarketDepth: ProcessMarketDepthCancel(); break; case ServerMessage.RequestRealTimeBars: ProcessRealTimeBarsRequest(); break; case ServerMessage.CancelRealTimeBars: ProcessRealTimeBarsCancel(); break; case ServerMessage.RequestAutoOpenOrders: ProcessAutoOpenOrdersRequest(); break; case ServerMessage.RequestAllOpenOrders: ProcessAllOpenOrdersRequest(); break; case ServerMessage.RequestHistoricalData: ProcessHistoricalDataRequest(); break; case ServerMessage.CancelHistoricalData: ProcessHistoricalDataCancel(); break; case ServerMessage.RequestExecutions: ProcessExecutionsRequest(); break; case ServerMessage.PlaceOrder: ProcessPlaceOrder(); break; case ServerMessage.CancelOrder: ProcessCancelOrder(); break; } return(true); }