public void SendServerTime(int connectionId) { if (!IsServer) { return; } var message = new ServerTimeMessage(); message.serverUnixTime = ServerUnixTime; message.serverTime = ServerTime; message.sendPackCount = Transport.netManager.Statistics.PacketsSent; message.receivePackCount = Transport.netManager.Statistics.PacketsReceived; Transport.ServerSendPacket(connectionId, MessageId.ServerTime, message, DeliveryMethod.Sequenced); }
private void UpdateUI(IBMessage message) { switch (message.Type) { case MessageType.ConnectionStatus: { ConnectionStatusMessage statusMessage = (ConnectionStatusMessage)message; if (statusMessage.IsConnected) { btn_connect_light.BackColor = Color.LightGreen; btn_connect_light.Text = "ON"; accountManager.RequestAccountSummary(); grid_order_summary.Rows.Clear(); ibClient.ClientSocket.reqExecutions(1, new ExecutionFilter()); ibClient.ClientSocket.reqCurrentTime(); //grid_open_order.Rows.Clear(); //ibClient.ClientSocket.reqAllOpenOrders(); } else { btn_connect_light.BackColor = Color.Red; btn_connect_light.Text = "OFF"; } break; } case MessageType.ManagedAccounts: { accountManager.ManagedAccounts = ((ManagedAccountsMessage)message).ManagedAccounts; accountManager.SubscribeAccountUpdates(); break; } case MessageType.AccountValue: { accountManager.UpdateUI(message); break; } case MessageType.TickOptionComputation: case MessageType.TickPrice: case MessageType.TickSize: { HandleTickMessage((MarketDataMessage)message); break; } case MessageType.RealTimeBars: { realTimeBarManager.UpdateUI(message); break; } case MessageType.HistoricalData: case MessageType.HistoricalDataEnd: { IAppMDManager appMDMManager = appStrategyManager.getAppMDManager(); //2015-10-27 if (isHistDataRequested(message)) { appMDMManager.updateHistDataAdHoc((HistoricalDataMessage)message); } else { historicalDataManager.UpdateUI(message); } //historicalDataManager.UpdateUI(message); break; } case MessageType.PortfolioValue: { accountManager.UpdateUI(message); break; } case MessageType.OpenOrder: case MessageType.OpenOrderEnd: case MessageType.OrderStatus: case MessageType.ExecutionData: case MessageType.CommissionsReport: { if (message.Type == MessageType.ExecutionData) { orderManager.processExecution((ExecutionMessage)message); } //HandleExecutionMessage((ExecutionMessage)message); orderManager.UpdateUI(message); break; } case MessageType.ServerTime: { ServerTimeMessage tm = (ServerTimeMessage)message; appStrategyManager.calculateTimeDiffServer(tm.Time); //strategyManager.calculateTimeDiffServer(tm.Time); break; } case MessageType.Error: { ErrorMessage error = (ErrorMessage)message; ShowMessageOnPanel("Request " + error.RequestId + ", Code: " + error.ErrorCode + " - " + error.Message + "\r\n"); HandleErrorMessage(error); break; } } }