private void BindMatchingEngineChannel(ContainerBuilder container) { var socketLog = new SocketLogDynamic(i => { }, str => Console.WriteLine(DateTime.UtcNow.ToIsoDateTime() + ": " + str)); container.BindMeClient(_settings.TxDetectorJob.MatchingEngine.IpEndpoint.GetClientIpEndPoint(), socketLog); }
public static void BindMatchingEngineChannel(this ContainerBuilder container, IPEndPoint ipEndPoint) { var socketLog = new SocketLogDynamic(i => { }, str => Console.WriteLine(DateTime.UtcNow.ToIsoDateTime() + ": " + str) ); var tcpClient = new TcpClientMatchingEngineConnector(ipEndPoint, socketLog); container.RegisterInstance <IMatchingEngineConnector>(tcpClient); tcpClient.Start(); }
protected override void Load(ContainerBuilder builder) { // TODO: Do not register entire settings in container, pass necessary settings to services which requires them // ex: // builder.RegisterType<QuotesPublisher>() // .As<IQuotesPublisher>() // .WithParameter(TypedParameter.From(_settings.CurrentValue.QuotesPublication)) builder.RegisterInstance(_log) .As <ILog>() .SingleInstance(); builder.RegisterType <HealthService>() .As <IHealthService>() .SingleInstance(); builder.RegisterType <StartupManager>() .As <IStartupManager>(); builder.RegisterType <ShutdownManager>() .As <IShutdownManager>(); var socketLog = new SocketLogDynamic(i => { }, str => Console.WriteLine(DateTime.UtcNow.ToIsoDateTime() + ": " + str)); if (!IPAddress.TryParse(_settings.CurrentValue.MatchingEngine.IpEndpoint.Host, out var address)) { address = Dns.GetHostAddressesAsync(_settings.CurrentValue.MatchingEngine.IpEndpoint.Host).Result[0]; } var endPoint = new IPEndPoint(address, _settings.CurrentValue.MatchingEngine.IpEndpoint.Port); builder .RegisterInstance <OrderRepository>( new OrderRepository( AzureTableStorage <OrderEntity> .Create(_settings.Nested(o => o.Db.DataConnString), "PlaceOrderSpotOrders", _log))) .SingleInstance(); builder.RegisterType <LykkeTradeSubscruber>() .As <IStartable>() .As <IStopable>() .AutoActivate() .SingleInstance(); builder.RegisterBalancesClient(_balanceClientSetting.CurrentValue.ServiceUrl, _log); builder.BindMeClient(endPoint, socketLog); builder.Populate(_services); }
protected override void Load(ContainerBuilder builder) { builder.RegisterClientAccountClient(_settings.ClientAccountServiceUrl); builder.RegisterHftInternalClient(_settings.HftInternalServiceUrl); builder.RegisterType <LykkeMarketProfileServiceAPI>() .As <ILykkeMarketProfileServiceAPI>() .WithParameter("baseUri", new Uri(_settings.MarketProfileUrl)); builder.RegisterOperationsClient(_settings.OperationsUrl); builder.RegisterType <LykkeRegistrationClient>() .As <ILykkeRegistrationClient>() .WithParameter("serviceUrl", _settings.RegistrationUrl); builder.RegisterClientSessionClient(new SessionServiceClientSettings { ServiceUrl = _apiSettings.CurrentValue.WalletApiv2.Services.SessionUrl }); builder.RegisterType <PersonalDataService>().As <IPersonalDataService>() .WithParameter(TypedParameter.From(_apiSettings.CurrentValue.PersonalDataServiceSettings)); builder.RegisterInstance( new KycStatusServiceClient(_apiSettings.CurrentValue.KycServiceClient, _log)) .As <IKycStatusService>() .SingleInstance(); builder.RegisterInstance( new KycProfileServiceClient(_apiSettings.CurrentValue.KycServiceClient, _log)) .As <IKycProfileService>() .SingleInstance(); builder.RegisterInstance <IAssetDisclaimersClient>( new AssetDisclaimersClient(_apiSettings.CurrentValue.AssetDisclaimersServiceClient)); _services.RegisterAssetsClient(AssetServiceSettings.Create( new Uri(_settings.AssetsServiceUrl), TimeSpan.FromMinutes(60)), _log); builder.RegisterClientDictionariesClient(_apiSettings.CurrentValue.ClientDictionariesServiceClient, _log); var socketLog = new SocketLogDynamic( i => { }, s => _log.WriteInfo("MeClient", null, s)); builder.BindMeClient(_apiSettings.CurrentValue.MatchingEngineClient.IpEndpoint.GetClientIpEndPoint(), socketLog, ignoreErrors: true); builder.RegisterFeeCalculatorClient(_apiSettings.CurrentValue.FeeCalculatorServiceClient.ServiceUrl, _log); builder.RegisterAffiliateClient(_settings.AffiliateServiceClient.ServiceUrl, _log); builder.RegisterIndicesFacadeClient(new IndicesFacadeServiceClientSettings { ServiceUrl = _settings.IndicesFacadeServiceUrl }, null); builder.RegisterInstance <IAssetDisclaimersClient>(new AssetDisclaimersClient(_apiSettings.CurrentValue.AssetDisclaimersServiceClient)); builder.RegisterPaymentSystemClient(_apiSettings.CurrentValue.PaymentSystemServiceClient.ServiceUrl, _log); builder.RegisterLimitationsServiceClient(_apiSettings.CurrentValue.LimitationServiceClient.ServiceUrl); builder.RegisterClientDialogsClient(_apiSettings.CurrentValue.ClientDialogsServiceClient); builder.Register(ctx => new BlockchainWalletsClient(_apiSettings.CurrentValue.BlockchainWalletsServiceClient.ServiceUrl, _log, new BlockchainWalletsApiFactory())) .As <IBlockchainWalletsClient>() .SingleInstance(); builder.RegisterSwiftCredentialsClient(_apiSettings.CurrentValue.SwiftCredentialsServiceClient); builder.RegisterHistoryClient(new HistoryServiceClientSettings { ServiceUrl = _settings.HistoryServiceUrl }); builder.RegisterConfirmationCodesClient(_apiSettings.Nested(r => r.ConfirmationCodesClient).CurrentValue); builder.RegisterBlockchainCashoutPreconditionsCheckClient(_apiSettings.CurrentValue.BlockchainCashoutPreconditionsCheckServiceClient.ServiceUrl); #region BlockchainSettings var settings = _blockchainSettingsServiceClient; var cacheManager = new ClientCacheManager(); var factory = new Lykke.Service.BlockchainSettings.Client.HttpClientGenerator.BlockchainSettingsClientFactory(); var client = factory.CreateNew(settings.ServiceUrl, settings.ApiKey, true, cacheManager); builder.RegisterInstance(client) .As <IBlockchainSettingsClient>(); builder.RegisterInstance(client) .As <IBlockchainSettingsClient>() .SingleInstance(); builder.RegisterInstance(cacheManager) .As <IClientCacheManager>() .SingleInstance(); builder.RegisterType <BlockchainExplorersProvider>() .As <IBlockchainExplorersProvider>() .SingleInstance(); #endregion builder.RegisterPushNotificationsClient(_apiSettings.CurrentValue.PushNotificationsServiceClient.ServiceUrl); builder.RegisterTierClient(_apiSettings.CurrentValue.TierServiceClient); builder.RegisterMarketDataClient(_apiSettings.CurrentValue.MarketDataServiceClient); builder.RegisterLink4PayClient(_apiSettings.CurrentValue.Link4PayServiceClient); builder.Populate(_services); }