public NotificationService(IServiceProvider serviceProvider, IFirebaseService firebase, ConnectionsService connections, IOptions <FcmOptions> options)
 {
     this.serviceProvider = serviceProvider;
     this.firebase        = firebase;
     this.connections     = connections;
     this.options         = options;
 }
Пример #2
0
 public ClientStateService(ConnectionsService connections, PacketService packets,
                           DeliveryService delivery, MessageInjectionService injector, DatabaseContext database)
 {
     this.connections = connections;
     this.packets     = packets;
     this.delivery    = delivery;
     this.injector    = injector;
     this.database    = database;
 }
Пример #3
0
 public DeliveryService(IServiceProvider serviceProvider, PacketService packets, ConnectionsService connections,
                        NotificationService notification, IOptions <FcmOptions> fcmOptions, IOptions <ProtocolOptions> protocolOptions, DatabaseContext database)
 {
     this.serviceProvider = serviceProvider;
     this.packets         = packets;
     this.connections     = connections;
     this.notification    = notification;
     this.fcmOptions      = fcmOptions;
     this.protocolOptions = protocolOptions;
     this.database        = database;
 }
Пример #4
0
        public ListenerService(IServiceProvider serviceProvider, IOptions <ListenerOptions> listenerOptions,
                               ConnectionsService connections, ILogger <ListenerService> logger)
        {
            this.serviceProvider = serviceProvider;
            this.listenerOptions = listenerOptions;
            this.connections     = connections;
            this.logger          = logger;

            certificate = new X509Certificate2(listenerOptions.Value.CertificatePath);
            sslOptions  = new SslServerAuthenticationOptions
            {
                ServerCertificate   = certificate,
                EnabledSslProtocols = SslProtocols.Tls12 | SslProtocols.Tls13,
            };

            endPoint = new IPEndPoint(IPAddress.IPv6Any, listenerOptions.Value.Port);

            listener = new Socket(AddressFamily.InterNetworkV6, SocketType.Stream, ProtocolType.Tcp)
            {
                DualMode = true
            };

            cts = new CancellationTokenSource();
        }