MqttServerOptions.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using System;
  2. namespace MQTTnet.Server
  3. {
  4. public class MqttServerOptions : IMqttServerOptions
  5. {
  6. public MqttServerTcpEndpointOptions DefaultEndpointOptions { get; } = new MqttServerTcpEndpointOptions();
  7. public MqttServerTlsTcpEndpointOptions TlsEndpointOptions { get; } = new MqttServerTlsTcpEndpointOptions();
  8. public string ClientId { get; set; }
  9. public bool EnablePersistentSessions { get; set; }
  10. public int MaxPendingMessagesPerClient { get; set; } = 250;
  11. public MqttPendingMessagesOverflowStrategy PendingMessagesOverflowStrategy { get; set; } = MqttPendingMessagesOverflowStrategy.DropOldestQueuedMessage;
  12. public TimeSpan DefaultCommunicationTimeout { get; set; } = TimeSpan.FromSeconds(15);
  13. public IMqttServerConnectionValidator ConnectionValidator { get; set; }
  14. public IMqttServerApplicationMessageInterceptor ApplicationMessageInterceptor { get; set; }
  15. public IMqttServerClientMessageQueueInterceptor ClientMessageQueueInterceptor { get; set; }
  16. public IMqttServerSubscriptionInterceptor SubscriptionInterceptor { get; set; }
  17. public IMqttServerUnsubscriptionInterceptor UnsubscriptionInterceptor { get; set; }
  18. public IMqttServerStorage Storage { get; set; }
  19. public IMqttRetainedMessagesManager RetainedMessagesManager { get; set; } = new MqttRetainedMessagesManager();
  20. }
  21. }