/// <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);
            }
        }
Beispiel #2
0
 /// <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");
     }
 }
Beispiel #3
0
        /// <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");
            }
        }
Beispiel #4
0
        /// <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);
            }
        }