IMqttChannelAdapter.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using System;
  2. using System.Security.Cryptography.X509Certificates;
  3. using System.Threading;
  4. using System.Threading.Tasks;
  5. using MQTTnet.Formatter;
  6. using MQTTnet.Packets;
  7. namespace MQTTnet.Adapter
  8. {
  9. public interface IMqttChannelAdapter : IDisposable
  10. {
  11. string Endpoint { get; }
  12. bool IsSecureConnection { get; }
  13. X509Certificate2 ClientCertificate { get; }
  14. MqttPacketFormatterAdapter PacketFormatterAdapter { get; }
  15. long BytesSent { get; }
  16. long BytesReceived { get; }
  17. Action ReadingPacketStartedCallback { get; set; }
  18. Action ReadingPacketCompletedCallback { get; set; }
  19. Task ConnectAsync(TimeSpan timeout, CancellationToken cancellationToken);
  20. Task DisconnectAsync(TimeSpan timeout, CancellationToken cancellationToken);
  21. Task SendPacketAsync(MqttBasePacket packet, TimeSpan timeout, CancellationToken cancellationToken);
  22. Task<MqttBasePacket> ReceivePacketAsync(TimeSpan timeout, CancellationToken cancellationToken);
  23. void ResetStatistics();
  24. }
  25. }