public ProudNetServerService(ILogger <ProudNetServerService> logger, IServiceProvider serviceProvider,
                                     IOptions <NetworkOptions> networkOptions, IOptions <ThreadingOptions> threadingOptions,
                                     P2PGroupManager groupManager, UdpSocketManager udpSocketManager, ISchedulerService schedulerService,
                                     ISessionManagerFactory sessionManagerFactory, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory)
        {
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            _logger                              = logger;
            _serviceProvider                     = serviceProvider;
            _networkOptions                      = networkOptions.Value;
            _threadingOptions                    = threadingOptions.Value;
            _groupManager                        = groupManager;
            _udpSocketManager                    = udpSocketManager;
            _schedulerService                    = schedulerService;
            _magicNumberSessionManager           = sessionManagerFactory.GetSessionManager <Guid>(SessionManagerType.MagicNumber);
            _udpSessionManager                   = sessionManagerFactory.GetSessionManager <uint>(SessionManagerType.UdpId);
            InternalLoggerFactory.DefaultFactory = loggerFactory;

            var sessionManager = _serviceProvider.GetRequiredService <ISessionManager>();

            sessionManager.Added   += SessionManager_OnAdded;
            sessionManager.Removed += SessionManager_OnRemoved;
        }
Exemple #2
0
 public UdpHandler(ILogger <UdpHandler> logger, BlubSerializer serializer,
                   ISessionManagerFactory sessionManagerFactory)
 {
     _serializer = serializer;
     _logger     = logger;
     _magicNumberSessionManager = sessionManagerFactory.GetSessionManager <Guid>(SessionManagerType.MagicNumber);
     _udpSessionManager         = sessionManagerFactory.GetSessionManager <uint>(SessionManagerType.UdpId);
 }
 public RelayHandler(ISessionManagerFactory sessionManagerFactory, UdpSocketManager udpSocketManager,
                     BlubSerializer serializer)
 {
     _magicNumberSessionManager = sessionManagerFactory.GetSessionManager <Guid>(SessionManagerType.MagicNumber);
     _udpSocketManager          = udpSocketManager;
     _serializer = serializer;
 }
 public AuthenticationHandler(
     ISessionManagerFactory sessionManagerFactory,
     IOptions <NetworkOptions> networkOptions,
     RSACryptoServiceProvider rsa)
 {
     _sessionManager = sessionManagerFactory.GetSessionManager <uint>(SessionManagerType.HostId);
     _networkOptions = networkOptions.Value;
     _rsa            = rsa;
 }
 public SessionHandler(ILogger <SessionHandler> logger, IOptions <NetworkOptions> networkOptions,
                       RSACryptoServiceProvider rsa, IHostIdFactory hostIdFactory,
                       ISessionFactory sessionFactory, ISessionManagerFactory sessionManagerFactory,
                       ILoggerFactory loggerFactory)
 {
     _logger         = logger;
     _networkOptions = networkOptions.Value;
     _rsa            = rsa;
     _hostIdFactory  = hostIdFactory;
     _sessionFactory = sessionFactory;
     _sessionManager = sessionManagerFactory.GetSessionManager <uint>(SessionManagerType.HostId);
     _loggerFactory  = loggerFactory;
 }
 public P2PStatusHandler(ISessionManagerFactory sessionManagerFactory)
 {
     _udpSessionManager = sessionManagerFactory.GetSessionManager <uint>(SessionManagerType.UdpId);
 }