Esempio n. 1
0
        public static IServiceCollection AddHostedMqttServer(this IServiceCollection services, IMqttServerOptions options)
        {
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            services.AddSingleton(options);

            services.AddHostedMqttServer();

            return(services);
        }
Esempio n. 2
0
 public MqttClientPendingMessagesQueue(IMqttServerOptions options, MqttClientSession session, IMqttNetLogger logger)
 {
     _logger  = logger ?? throw new ArgumentNullException(nameof(logger));
     _session = session ?? throw new ArgumentNullException(nameof(session));
     _options = options ?? throw new ArgumentNullException(nameof(options));
 }
 public MqttClientSubscriptionsManager(string clientId, IMqttServerOptions options, MqttServer server)
 {
     _clientId = clientId ?? throw new ArgumentNullException(nameof(clientId));
     _options  = options ?? throw new ArgumentNullException(nameof(options));
     _server   = server;
 }
Esempio n. 4
0
        public MqttClientSession(string clientId, IDictionary <object, object> items, MqttServerEventDispatcher eventDispatcher, IMqttServerOptions serverOptions, IMqttNetChildLogger logger)
        {
            ClientId = clientId ?? throw new ArgumentNullException(nameof(clientId));
            Items    = items ?? throw new ArgumentNullException(nameof(items));

            SubscriptionsManager     = new MqttClientSubscriptionsManager(this, eventDispatcher, serverOptions);
            ApplicationMessagesQueue = new MqttClientSessionApplicationMessagesQueue(serverOptions);

            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }
            _logger = logger.CreateChildLogger(nameof(MqttClientSession));
        }
Esempio n. 5
0
 public Task StartAsync(IMqttServerOptions options)
 {
     return(Task.FromResult(0));
 }
Esempio n. 6
0
 public Task StartAsync(IMqttServerOptions options)
 {
     throw new NotImplementedException();
 }
Esempio n. 7
0
        public MqttTcpChannel(StreamSocket socket, X509Certificate2 clientCertificate, IMqttServerOptions serverOptions)
        {
            _socket     = socket ?? throw new ArgumentNullException(nameof(socket));
            _bufferSize = serverOptions.DefaultEndpointOptions.BufferSize;

            CreateStreams();

#if NETCOREAPP3_0 || NET5_0
            IsSecureConnection = socket.Information.ProtectionLevel >= SocketProtectionLevel.Tls13;
#else
            IsSecureConnection = socket.Information.ProtectionLevel >= SocketProtectionLevel.Tls12;
#endif
            ClientCertificate = clientCertificate;

            Endpoint = _socket.Information.RemoteAddress + ":" + _socket.Information.RemotePort;
        }
Esempio n. 8
0
 public Task StartAsync(IMqttServerOptions options)
 {
     return(Task.CompletedTask);
 }
Esempio n. 9
0
 public MqttRetainedMessagesManager(IMqttServerOptions options, IMqttNetLogger logger)
 {
     _logger  = logger ?? throw new ArgumentNullException(nameof(logger));
     _options = options ?? throw new ArgumentNullException(nameof(options));
 }
Esempio n. 10
0
        public static IServiceCollection AddHostedMqttServer(this IServiceCollection services, IMqttServerOptions options)
        {
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            services.AddSingleton(options);
            services.AddSingleton <IMqttNetLogger>(new MqttNetLogger());
            services.AddSingleton <MqttHostedServer>();
            services.AddSingleton <IHostedService>(s => s.GetService <MqttHostedServer>());
            services.AddSingleton <IMqttServer>(s => s.GetService <MqttHostedServer>());

            services.AddSingleton <MqttWebSocketServerAdapter>();
            services.AddSingleton <MqttTcpServerAdapter>();
            services.AddSingleton <IMqttServerAdapter>(s => s.GetService <MqttWebSocketServerAdapter>());
            services.AddSingleton <IMqttServerAdapter>(s => s.GetService <MqttTcpServerAdapter>());

            return(services);
        }
Esempio n. 11
0
 private MqttServerHelper(ILogger logger, IMqttServerOptions options)
 {
     _logger  = logger;
     _options = options;
 }
 public Task Start(IMqttServerOptions options, IMqttNetLogger logger)
 {
     return(Task.CompletedTask);
 }
 public MqttClientSubscriptionsManager(IMqttServerOptions options)
 {
     _options = options ?? throw new ArgumentNullException(nameof(options));
 }
        public MqttClientSubscriptionsManager(MqttClientSession clientSession, MqttServerEventDispatcher eventDispatcher, IMqttServerOptions serverOptions)
        {
            _clientSession = clientSession ?? throw new ArgumentNullException(nameof(clientSession));

            // TODO: Consider removing the server options here and build a new class "ISubscriptionInterceptor" and just pass it. The instance is generated in the root server class upon start.
            _serverOptions   = serverOptions ?? throw new ArgumentNullException(nameof(serverOptions));
            _eventDispatcher = eventDispatcher ?? throw new ArgumentNullException(nameof(eventDispatcher));
        }
 public MqttClientSubscriptionsManager(string clientId, IMqttServerOptions options, MqttServerEventDispatcher eventDispatcher)
 {
     _clientId        = clientId ?? throw new ArgumentNullException(nameof(clientId));
     _options         = options ?? throw new ArgumentNullException(nameof(options));
     _eventDispatcher = eventDispatcher ?? throw new ArgumentNullException(nameof(eventDispatcher));
 }
Esempio n. 16
0
 public MqttHostedServer(IMqttServerOptions options, IEnumerable <IMqttServerAdapter> adapters, IMqttNetLogger logger)
     : base(adapters, logger)
 {
     _options = options ?? throw new ArgumentNullException(nameof(options));
 }
 public MqttClientSessionApplicationMessagesQueue(IMqttServerOptions options)
 {
     _options = options ?? throw new ArgumentNullException(nameof(options));
 }
Esempio n. 18
0
 public MqttClientSubscriptionsManager(MqttClientSession clientSession, MqttServerEventDispatcher eventDispatcher, IMqttServerOptions serverOptions)
 {
     _clientSession   = clientSession ?? throw new ArgumentNullException(nameof(clientSession));
     _options         = serverOptions ?? throw new ArgumentNullException(nameof(serverOptions));
     _eventDispatcher = eventDispatcher ?? throw new ArgumentNullException(nameof(eventDispatcher));
 }