Beispiel #1
0
        public static void Main()
        {
            var myLogger = new MyCustomLogger();

            myLogger.LogInfo("Server starting...");

            RequestResponseServer requestResponseServer = new RequestResponseServer();

            requestResponseServer.Init(new SimpleRequestHandlerFactory(), myLogger);
            requestResponseServer.Run(SERVER_URL);

            myLogger.LogInfo("Server is shutting down...");

            Console.ReadKey();
        }
        private void CreateAndStartServers()
        {
            RealTimeServer          = new RealTimeDataServer(Settings.Default.RealTimeDataServerRequestPort, RealTimeBroker);
            DataServer              = new HistoricalDataServer(Settings.Default.HistoricalServerPort, HistoricalBroker);
            MessagesServer          = new MessagesServer(Settings.Default.MessagesServerPushPort);
            EquityUpdateServer      = new EquityUpdateServer(Settings.Default.EquityUpdateServerRouterPort);
            InstrumentRequestServer = new RequestResponseServer(Settings.Default.InstrumetnUpdateRequestSocketPort);

            RealTimeServer.StartServer();
            DataServer.StartServer();
            MessagesServer.StartServer();
            InstrumentRequestServer.StartServer();
            //not using poller.Async, need to spawn thread
            Task.Factory.StartNew(EquityUpdateServer.StartServer, TaskCreationOptions.LongRunning);
        }
Beispiel #3
0
        /// <summary>
        /// Disposes the object.
        /// </summary>
        public void Dispose()
        {
            lock (m_lockObject)
            {
                m_disposed = true;
            }

            try
            {
                if (m_reqRespServer != null)
                {
                    m_reqRespServer.Dispose();
                    m_reqRespServer = null;
                }
            }
            catch { } // No can do
        }
        /// <summary>
        /// Starts the server.
        /// </summary>
        /// <param name="server">The server.</param>
        /// <returns><c>true</c> if Server is successfully started, <c>false</c> otherwise.</returns>
        /// <exception cref="System.ArgumentNullException">server</exception>
        /// <exception cref="System.ArgumentOutOfRangeException"></exception>
        public bool StartServer(MqServer server)
        {
            if (server == null)
            {
                throw new ArgumentNullException(nameof(server));
            }

            INetMQServer netMqServer;

            switch (server.ServerType)
            {
            case ServerType.EquityUpdate:
                netMqServer = new EquityUpdateServer(server);
                netMqServer.StartServer();
                break;

            case ServerType.HistoricalData:
                netMqServer = new HistoricalDataServer(server, null);
                netMqServer.StartServer();
                break;

            case ServerType.InstrumentRequest:
                netMqServer = new RequestResponseServer(server);
                netMqServer.StartServer();
                break;

            case ServerType.Message:
                netMqServer = new MessagesServer(server);
                netMqServer.StartServer();
                break;

            case ServerType.RealTimeData:
                netMqServer = new EquityUpdateServer(server);
                netMqServer.StartServer();
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            return(netMqServer.ServerRunning);
        }
Beispiel #5
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="channel">Channel.</param>
 /// <param name="excName">Exchange name.</param>
 /// <param name="topicName">Topic name to send messages to.</param>
 public Server(IModel channel, string excName, string topicName)
 {
     m_reqRespServer = new RequestResponseServer(channel, excName, topicName);
 }