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