c78f9cc2ab2715125ab8b2fb2a658cb3e265513c1b5b2619755e08783baf6133bedbbe2182e2651d98b0f9b03a0599d068410a3fd51cf7d5c70b9317872f0a 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import { IMessageIdProvider } from './message-id-provider'
  2. /**
  3. * DefaultMessageIdProvider
  4. * This is compatible behavior with the original MQTT.js internal messageId allocation.
  5. */
  6. declare class DefaultMessageIdProvider implements IMessageIdProvider {
  7. /**
  8. * DefaultMessageIdProvider constructor.
  9. * Randomize initial messageId
  10. * @constructor
  11. */
  12. constructor ()
  13. /**
  14. * Return the current messageId and increment the current messageId.
  15. * @return {Number} - messageId
  16. */
  17. public allocate (): Number | null
  18. /**
  19. * Get the last allocated messageId.
  20. * @return {Number} - messageId.
  21. */
  22. public getLastAllocated (): Number | null
  23. /**
  24. * Register the messageId.
  25. * This function actually nothing and always return true.
  26. * @param {Number} num - The messageId to request use.
  27. * @return {Boolean} - If `num` was not occupied, then return true, otherwise return false.
  28. */
  29. public register (num: Number): Boolean
  30. /**
  31. * Deallocate the messageId.
  32. * This function actually nothing.
  33. * @param {Number} num - The messageId to deallocate.
  34. */
  35. public deallocate (num: Number): void
  36. /**
  37. * Clear all occupied messageIds.
  38. * This function actually nothing.
  39. */
  40. public clear (): void
  41. }
  42. export { DefaultMessageIdProvider }