/// <summary> /// Parses the Application Info details to extract info /// </summary> /// <param name="appId">Unique App ID</param> /// <param name="responseReply">Dictionary containg application reply routing keys info</param> /// <returns></returns> private Dictionary <string, ClientMqParameters> ReadAppInfoMessage(string appId, Dictionary <string, string> responseReply) { try { var clientMqParameters = new Dictionary <string, ClientMqParameters>(); // Read Admin Info var parameters = new ClientMqParameters() { AppId = appId, ReplyTo = responseReply["Admin"] }; clientMqParameters.Add("Admin", parameters); // Read Order Info parameters = new ClientMqParameters() { AppId = appId, ReplyTo = responseReply["Order"] }; clientMqParameters.Add("Order", parameters); // Read Execution Info parameters = new ClientMqParameters() { AppId = appId, ReplyTo = responseReply["Execution"] }; clientMqParameters.Add("Execution", parameters); // Read Rejection Info parameters = new ClientMqParameters() { AppId = appId, ReplyTo = responseReply["Rejection"] }; clientMqParameters.Add("Rejection", parameters); // Read Locate Response Info parameters = new ClientMqParameters() { AppId = appId, ReplyTo = responseReply["Locate"] }; clientMqParameters.Add("Locate", parameters); return(clientMqParameters); } catch (Exception exception) { Logger.Error(exception, _type.FullName, "ReadAppInfoMessage"); return(null); } }
/// <summary> /// Publishes Historic Bars to the MQ Exchange /// </summary> public void PublishMessages(ClientMqParameters strategyInfo, Message <HistoricBarData> message) { try { // Publish Messages to respective Queues _easyNetQBus.Publish(_exchange, strategyInfo.ReplyTo, true, false, message); } catch (Exception exception) { Logger.Error(exception, _type.FullName, "PublishMessages"); } }
/// <summary> /// Publishes Live Bars to the MQ Exchange /// </summary> public void PublishMessages(ClientMqParameters strategyInfo, Message <Bar> message) { try { //// Publish Messages to respective Queues //_easyNetQBus.Publish(_exchange, strategyInfo.ReplyTo, true, false, message); // Publish Message Using Native Rabbit MQ PublishBarMessageToRabbitMq(strategyInfo.ReplyTo, message.Body); } catch (Exception exception) { Logger.Error(exception, _type.FullName, "PublishMessages"); } }
/// <summary> /// Parses the Application Info details to extract info /// </summary> /// <param name="appId">Unique App ID</param> /// <param name="responseReply">Dictionary containg application reply routing keys info</param> /// <returns></returns> private Dictionary <string, ClientMqParameters> ReadAppInfoMessage(string appId, Dictionary <string, string> responseReply) { try { var clientMqParameters = new Dictionary <string, ClientMqParameters>(); // Read Admin Info var parameters = new ClientMqParameters() { AppId = appId, ReplyTo = responseReply["Admin"] }; clientMqParameters.Add("Admin", parameters); // Read Tick Info parameters = new ClientMqParameters() { AppId = appId, ReplyTo = responseReply["Tick"] }; clientMqParameters.Add("Tick", parameters); // Read LiveBar Info parameters = new ClientMqParameters() { AppId = appId, ReplyTo = responseReply["LiveBar"] }; clientMqParameters.Add("LiveBar", parameters); // Read HistoricBar Info parameters = new ClientMqParameters() { AppId = appId, ReplyTo = responseReply["HistoricBar"] }; clientMqParameters.Add("HistoricBar", parameters); return(clientMqParameters); } catch (Exception exception) { Logger.Error(exception, _type.FullName, "ReadAppInfoMessage"); return(null); } }
/// <summary> /// Publishes Poition messages to the MQ Exchange /// </summary> private void PublishPositionMessages(ClientMqParameters strategyInfo, Message <Position> message) { try { // Send messages to the MQ Server for publishing _mqServer.PublishPositionMessages(strategyInfo.ReplyTo, message); if (Logger.IsDebugEnabled) { Logger.Debug("Message sent to MQ Server for publishing: " + message.Body, _type.FullName, "PublishMessages"); } } catch (Exception exception) { Logger.Error(exception, _type.FullName, "PublishMessages"); } }
/// <summary> /// Parses the Application Info details to extract info /// </summary> /// <param name="appId">Unique App ID</param> /// <param name="responseReply">Dictionary containg application reply routing keys info</param> /// <returns></returns> private Dictionary <string, ClientMqParameters> ReadAppInfoMessage(string appId, Dictionary <string, string> responseReply) { try { var clientMqParameters = new Dictionary <string, ClientMqParameters>(); // Read Position Info var parameters = new ClientMqParameters() { AppId = appId, ReplyTo = responseReply["Position"] }; clientMqParameters.Add("Position", parameters); return(clientMqParameters); } catch (Exception exception) { Logger.Error(exception, _type.FullName, "ReadAppInfoMessage"); return(null); } }