public RedisSocketServer( IServiceProvider services, LocalStage localStage, ITelemetry telemetry, ILogger <RedisSocketServer> logger, IOptions <NanoServiceOptions> serviceOptions, IOptions <RedisOptions> redisOptions) { this._services = services; this._serviceOptions = serviceOptions.Value; this._redisOptions = redisOptions.Value; this._localStage = localStage; this._telemetry = telemetry; _logger = logger; }
public void ConfigureDefaults() { if (!_serviceCollection.Any(s => s.ServiceType == typeof(ITransportSerializer))) { _serviceCollection.AddSingleton <ITransportSerializer, JsonTransportSerializer>(); } if (!_serviceCollection.Any(s => s.ServiceType == typeof(IActorDirectory))) { _serviceCollection.AddSingleton <IActorDirectory, MemoryActorDirectory>(); } if (!_serviceCollection.Any(s => s.ServiceType == typeof(IRemoteSocketManager))) { _serviceCollection.AddSingleton <IRemoteSocketManager, ZMQRemoteSocket>(); } if (!_serviceCollection.Any(s => s.ServiceType == typeof(LocalStage))) { _serviceCollection.AddSingleton <LocalStage>((p) => { var stage = new LocalStage(p, p.GetRequiredService <IActorDirectory>()); stage.Enabled = false; return(stage); }); } if (!_serviceCollection.Any(s => s.ServiceType == typeof(IOptions <TcpOptions>))) { _serviceCollection.Configure <TcpOptions>((p) => new TcpOptions()); } if (!_serviceCollection.Any(s => s.ServiceType == typeof(RemoteStage))) { _serviceCollection.AddSingleton <RemoteStage>(); } }