Exemple #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ServiceConfiguration"/> class.
 /// </summary>
 /// <param name="loggerFactory">The service logging adapter.</param>
 /// <param name="fixConfig">The FIX configuration.</param>
 /// <param name="wireConfig">The messaging configuration.</param>
 /// <param name="networkConfig">The network configuration.</param>
 public ServiceConfiguration(
     ILoggerFactory loggerFactory,
     FixConfiguration fixConfig,
     WireConfiguration wireConfig,
     NetworkConfiguration networkConfig)
 {
     this.LoggerFactory = loggerFactory;
     this.FixConfig     = fixConfig;
     this.WireConfig    = wireConfig;
     this.NetworkConfig = networkConfig;
 }
 /// <summary>
 /// Creates and returns a new FXCM FIX client.
 /// </summary>
 /// <param name="container">The componentry container.</param>
 /// <param name="messagingAdapter">The messaging adapter.</param>
 /// <param name="config">The FIX configuration.</param>
 /// <returns>The FXCM FIX client.</returns>
 public static IFixClient Create(
     IComponentryContainer container,
     IMessageBusAdapter messagingAdapter,
     FixConfiguration config)
 {
     return(new FixClient(
                container,
                messagingAdapter,
                config,
                new FxcmFixMessageHandler(
                    container,
                    config.AccountId,
                    config.AccountCurrency),
                new FxcmFixMessageRouter(
                    container,
                    config.AccountId)));
 }
Exemple #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="NautilusServiceBase"/> class.
        /// </summary>
        /// <param name="container">The componentry container.</param>
        /// <param name="messagingAdapter">The messaging adapter.</param>
        /// <param name="config">The service configuration.</param>
        /// <exception cref="ArgumentException">If the addresses is empty.</exception>
        protected NautilusServiceBase(
            IComponentryContainer container,
            MessageBusAdapter messagingAdapter,
            FixConfiguration config)
            : base(container, messagingAdapter)
        {
            this.messaging            = messagingAdapter;
            this.connectWeeklyTime    = config.ConnectWeeklyTime;
            this.disconnectWeeklyTime = config.DisconnectWeeklyTime;
            this.maintainConnection   = false;

            // Commands
            this.RegisterHandler <ConnectSession>(this.OnMessage);
            this.RegisterHandler <DisconnectSession>(this.OnMessage);

            // Events
            this.RegisterHandler <SessionConnected>(this.OnMessage);
            this.RegisterHandler <SessionDisconnected>(this.OnMessage);

            // Event Subscriptions
            this.Subscribe <SessionConnected>();
            this.Subscribe <SessionDisconnected>();
        }