public SuperSocketService(IServiceProvider serviceProvider, IOptions <ServerOptions> serverOptions, ILoggerFactory loggerFactory, IChannelCreatorFactory channelCreatorFactory) { _serverOptions = serverOptions; Name = serverOptions.Value.Name; _serviceProvider = serviceProvider; _pipelineFilterFactory = GetPipelineFilterFactory(); _loggerFactory = loggerFactory; _logger = _loggerFactory.CreateLogger("SuperSocketService"); _channelCreatorFactory = channelCreatorFactory; _sessionHandlers = serviceProvider.GetService <SessionHandlers>(); // initialize session factory _sessionFactory = serviceProvider.GetService <ISessionFactory>() ?? new DefaultSessionFactory(); InitializeMiddlewares(); var packageHandler = serviceProvider.GetService <IPackageHandler <TReceivePackageInfo> >() ?? _middlewares.OfType <IPackageHandler <TReceivePackageInfo> >().FirstOrDefault(); if (packageHandler == null) { Logger.LogWarning("The PackageHandler cannot be found."); } else { var errorHandler = serviceProvider.GetService <Func <IAppSession, PackageHandlingException <TReceivePackageInfo>, ValueTask <bool> > >() ?? OnSessionErrorAsync; _packageHandlingScheduler = serviceProvider.GetService <IPackageHandlingScheduler <TReceivePackageInfo> >() ?? new SerialPackageHandlingScheduler <TReceivePackageInfo>(); _packageHandlingScheduler.Initialize(packageHandler, errorHandler); } }
public SuperSocketService(IServiceProvider serviceProvider, IOptions <ServerOptions> serverOptions, ILoggerFactory loggerFactory, IChannelCreatorFactory channelCreatorFactory) { _serverOptions = serverOptions; Name = serverOptions.Value.Name; _serviceProvider = serviceProvider; _pipelineFilterFactory = GetPipelineFilterFactory(); _serverOptions = serverOptions; _loggerFactory = loggerFactory; _logger = _loggerFactory.CreateLogger("SuperSocketService"); _channelCreatorFactory = channelCreatorFactory; _packageHandler = serviceProvider.GetService <IPackageHandler <TReceivePackageInfo> >(); _errorHandler = serviceProvider.GetService <Func <IAppSession, PackageHandlingException <TReceivePackageInfo>, ValueTask <bool> > >(); _sessionHandlers = serviceProvider.GetService <SessionHandlers>(); if (_errorHandler == null) { _errorHandler = OnSessionErrorAsync; } // initialize session factory _sessionFactory = serviceProvider.GetService <ISessionFactory>(); if (_sessionFactory == null) { _sessionFactory = new DefaultSessionFactory(); } InitializeMiddlewares(); }
public SuperSocketService(IServiceProvider serviceProvider, IOptions <ServerOptions> serverOptions, IChannelCreatorFactory channelCreatorFactory) { var serverOptionsValue = IocUnity.Get <ServerOptions>(); _serverOptions = new ServerConfigOptions <ServerOptions>(serverOptionsValue); //_serverOptions = serverOptions; Name = serverOptions.Value.Name; _serviceProvider = serviceProvider; _pipelineFilterFactory = GetPipelineFilterFactory(); _channelCreatorFactory = channelCreatorFactory; _packageHandler = serviceProvider.GetService <IPackageHandler <TSessionData, TReceivePackageInfo> >(); _errorHandler = serviceProvider.GetService <Func <IAppSession <TSessionData>, PackageHandlingException <TReceivePackageInfo>, ValueTask <bool> > >(); _sessionHandlers = serviceProvider.GetService <SessionHandlers <TSessionData> >(); if (_errorHandler == null) { _errorHandler = OnSessionErrorAsync; } // initialize session factory _sessionFactory = serviceProvider.GetService <ISessionFactory <TSessionData> >(); if (_sessionFactory == null) { _sessionFactory = new DefaultSessionFactory <TSessionData>(); } InitializeMiddlewares(); }
public SuperSocketService(IServiceProvider serviceProvider, IOptions <ServerOptions> serverOptions) { if (serviceProvider == null) { throw new ArgumentNullException(nameof(serviceProvider)); } if (serverOptions == null) { throw new ArgumentNullException(nameof(serverOptions)); } Name = serverOptions.Value.Name; Options = serverOptions.Value; _serviceProvider = serviceProvider; _pipelineFilterFactory = GetPipelineFilterFactory(); _loggerFactory = serviceProvider.GetService <ILoggerFactory>(); _logger = _loggerFactory.CreateLogger("SuperSocketService"); _channelCreatorFactory = serviceProvider.GetService <IChannelCreatorFactory>() ?? new TcpChannelCreatorFactory(serviceProvider); _sessionHandlers = serviceProvider.GetService <SessionHandlers>(); _sessionFactory = serviceProvider.GetService <ISessionFactory>(); _packageHandlingContextAccessor = serviceProvider.GetService <IPackageHandlingContextAccessor <TReceivePackageInfo> >(); InitializeMiddlewares(); var packageHandler = serviceProvider.GetService <IPackageHandler <TReceivePackageInfo> >() ?? _middlewares.OfType <IPackageHandler <TReceivePackageInfo> >().FirstOrDefault(); if (packageHandler == null) { Logger.LogWarning("The PackageHandler cannot be found."); } else { var errorHandler = serviceProvider.GetService <Func <IAppSession, PackageHandlingException <TReceivePackageInfo>, ValueTask <bool> > >() ?? OnSessionErrorAsync; _packageHandlingScheduler = serviceProvider.GetService <IPackageHandlingScheduler <TReceivePackageInfo> >() ?? new SerialPackageHandlingScheduler <TReceivePackageInfo>(); _packageHandlingScheduler.Initialize(packageHandler, errorHandler); } }
public SuperSocketService(IServiceProvider serviceProvider, IOptions <ServerOptions> serverOptions, ILoggerFactory loggerFactory, IChannelCreatorFactory channelCreatorFactory) { _serverOptions = serverOptions; Name = serverOptions.Value.Name; _serviceProvider = serviceProvider; _pipelineFilterFactory = GetPipelineFilterFactory(); _serverOptions = serverOptions; _loggerFactory = loggerFactory; _logger = _loggerFactory.CreateLogger("SuperSocketService"); _channelCreatorFactory = channelCreatorFactory; _packageHandler = serviceProvider.GetService <Func <IAppSession, TReceivePackageInfo, Task> >(); // initialize session factory _sessionFactory = serviceProvider.GetService <ISessionFactory>(); if (_sessionFactory == null) { _sessionFactory = new DefaultSessionFactory(); } InitializeMiddlewares(); }
public WebSocketService(IServiceProvider serviceProvider, IOptions <ServerOptions> serverOptions, ILoggerFactory loggerFactory, IChannelCreatorFactory channelCreatorFactory) : base(serviceProvider, serverOptions, loggerFactory, channelCreatorFactory) { }
public WebSocketService(IServiceProvider serviceProvider, IOptions <ServerOptions> serverOptions, IChannelCreatorFactory channelCreatorFactory) : base(serviceProvider, serverOptions, channelCreatorFactory) { _sessionContainerMiddleware = Middlewares.FirstOrDefault(m => m is IAsyncSessionContainer || m is ISessionContainer); }
public DemoService(IServiceProvider serviceProvider, IOptions <ServerOptions> serverOptions, IChannelCreatorFactory channelCreatorFactory) : base(serviceProvider, serverOptions, channelCreatorFactory) { }
public CSuperSocketService(IServiceProvider serviceProvider, IOptions <ServerOptions> serverOptions, IChannelCreatorFactory channelCreatorFactory) : base(serviceProvider, GetServerCfgOptions(), channelCreatorFactory) { }