Example #1
0
        private void RegisterClients(ContainerBuilder builder)
        {
            builder.RegisterAssetsClient(AssetServiceSettings.Create(
                                             new Uri(_settings.CurrentValue.AssetsServiceClient.ServiceUrl),
                                             _settings.CurrentValue.LiquidityEngineService.AssetsCacheExpirationPeriod));

            builder.RegisterBalancesClient(_settings.CurrentValue.BalancesServiceClient);

            builder.Register(container =>
                             new ExchangeOperationsServiceClient(_settings.CurrentValue.ExchangeOperationsServiceClient
                                                                 .ServiceUrl))
            .As <IExchangeOperationsServiceClient>()
            .SingleInstance();

            builder.RegisterB2ะก2RestClient(new B2C2ClientSettings(_settings.CurrentValue.B2C2Client.Url,
                                                                  _settings.CurrentValue.B2C2Client.AuthorizationToken));

            builder.RegisterLykkeServiceClient(_settings.CurrentValue.DwhServiceClient.ServiceUrl, null);

            MatchingEngineClientSettings matchingEngineClientSettings = _settings.CurrentValue.MatchingEngineClient;

            if (!IPAddress.TryParse(matchingEngineClientSettings.IpEndpoint.Host, out var address))
            {
                address = Dns.GetHostAddressesAsync(matchingEngineClientSettings.IpEndpoint.Host).Result[0];
            }

            var endPoint = new IPEndPoint(address, matchingEngineClientSettings.IpEndpoint.Port);

            builder.RegisterMeClient(endPoint);
        }
Example #2
0
        private void RegisterClients(ContainerBuilder builder)
        {
            IReadOnlyDictionary <string, AdapterEndpoint> endpoints =
                _settings.CurrentValue.IndexHedgingEngineService.ExchangeAdapters.ToDictionary(o => o.Name,
                                                                                               v => new AdapterEndpoint(v.ApiKey, new Uri(v.Url)));

            builder.RegisterInstance(new ExchangeAdapterClientFactory(endpoints));

            builder.RegisterBalancesClient(_settings.CurrentValue.BalancesServiceClient);

            builder.Register(container =>
                             new ExchangeOperationsServiceClient(_settings.CurrentValue.ExchangeOperationsServiceClient
                                                                 .ServiceUrl))
            .As <IExchangeOperationsServiceClient>()
            .SingleInstance();

            MatchingEngineClientSettings matchingEngineClientSettings = _settings.CurrentValue.MatchingEngineClient;

            if (!IPAddress.TryParse(matchingEngineClientSettings.IpEndpoint.Host, out var address))
            {
                address = Dns.GetHostAddressesAsync(matchingEngineClientSettings.IpEndpoint.Host).Result[0];
            }

            var endPoint = new IPEndPoint(address, matchingEngineClientSettings.IpEndpoint.Port);

            builder.RegisgterMeClient(endPoint);
        }
        private static IPEndPoint GetIPEndPoint(
            MatchingEngineClientSettings settings)
        {
            if (IPAddress.TryParse(settings.Host, out var ipAddress))
            {
                return(new IPEndPoint(ipAddress, settings.Port));
            }

            var addresses = Dns.GetHostAddressesAsync(settings.Host).Result;

            return(new IPEndPoint(addresses[0], settings.Port));
        }
        private void RegisterMeClient(ContainerBuilder builder)
        {
            MatchingEngineClientSettings matchingEngineClientSettings = _appSettings.CurrentValue.MatchingEngineClient;

            if (!IPAddress.TryParse(matchingEngineClientSettings.IpEndpoint.Host, out var address))
            {
                address = Dns.GetHostAddressesAsync(matchingEngineClientSettings.IpEndpoint.Host).Result[0];
            }

            var endPoint = new IPEndPoint(address, matchingEngineClientSettings.IpEndpoint.Port);

            builder.RegisgterMeClient(endPoint);
        }
Example #5
0
        /// <summary>
        /// Registers <see cref="IMatchingEngineClient"/> in Autofac container using <see cref="MatchingEngineClientSettings"/>.
        /// </summary>
        /// <param name="builder">Autofac container builder.</param>
        /// <param name="settings">Matching engine client settings.</param>
        public static void RegisterMatchingEngineClient(
            [NotNull] this ContainerBuilder builder,
            [NotNull] MatchingEngineClientSettings settings)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            builder.RegisterInstance(new MatchingEngineClient(settings))
            .As <IMatchingEngineClient>()
            .SingleInstance();
        }