IMqttServer.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132
  1. using MQTTnet.Server.Status;
  2. using System.Collections.Generic;
  3. using System.Threading.Tasks;
  4. namespace MQTTnet.Server
  5. {
  6. public interface IMqttServer : IApplicationMessageReceiver, IApplicationMessagePublisher
  7. {
  8. bool IsStarted { get; }
  9. IMqttServerStartedHandler StartedHandler { get; set; }
  10. IMqttServerStoppedHandler StoppedHandler { get; set; }
  11. IMqttServerClientConnectedHandler ClientConnectedHandler { get; set; }
  12. IMqttServerClientDisconnectedHandler ClientDisconnectedHandler { get; set; }
  13. IMqttServerClientSubscribedTopicHandler ClientSubscribedTopicHandler { get; set; }
  14. IMqttServerClientUnsubscribedTopicHandler ClientUnsubscribedTopicHandler { get; set; }
  15. IMqttServerOptions Options { get; }
  16. Task<IList<IMqttClientStatus>> GetClientStatusAsync();
  17. Task<IList<IMqttSessionStatus>> GetSessionStatusAsync();
  18. Task<IList<MqttApplicationMessage>> GetRetainedApplicationMessagesAsync();
  19. Task ClearRetainedApplicationMessagesAsync();
  20. Task SubscribeAsync(string clientId, ICollection<MqttTopicFilter> topicFilters);
  21. Task UnsubscribeAsync(string clientId, ICollection<string> topicFilters);
  22. Task StartAsync(IMqttServerOptions options);
  23. Task StopAsync();
  24. }
  25. }