/// <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))); }
/// <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>(); }