using System; namespace MQTTnet.Server { public class MqttServerOptions : IMqttServerOptions { public MqttServerTcpEndpointOptions DefaultEndpointOptions { get; } = new MqttServerTcpEndpointOptions(); public MqttServerTlsTcpEndpointOptions TlsEndpointOptions { get; } = new MqttServerTlsTcpEndpointOptions(); public bool EnablePersistentSessions { get; set; } public int MaxPendingMessagesPerClient { get; set; } = 250; public MqttPendingMessagesOverflowStrategy PendingMessagesOverflowStrategy { get; set; } = MqttPendingMessagesOverflowStrategy.DropOldestQueuedMessage; public TimeSpan DefaultCommunicationTimeout { get; set; } = TimeSpan.FromSeconds(15); public Action ConnectionValidator { get; set; } public Action ApplicationMessageInterceptor { get; set; } public Action ClientMessageQueueInterceptor { get; set; } public Action SubscriptionInterceptor { get; set; } public IMqttServerStorage Storage { get; set; } } }