spec.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. """AMQP Spec."""
  2. from __future__ import absolute_import, unicode_literals
  3. from collections import namedtuple
  4. method_t = namedtuple('method_t', ('method_sig', 'args', 'content'))
  5. def method(method_sig, args=None, content=False):
  6. """Create amqp method specification tuple."""
  7. return method_t(method_sig, args, content)
  8. class Connection:
  9. """AMQ Connection class."""
  10. CLASS_ID = 10
  11. Start = (10, 10)
  12. StartOk = (10, 11)
  13. Secure = (10, 20)
  14. SecureOk = (10, 21)
  15. Tune = (10, 30)
  16. TuneOk = (10, 31)
  17. Open = (10, 40)
  18. OpenOk = (10, 41)
  19. Close = (10, 50)
  20. CloseOk = (10, 51)
  21. Blocked = (10, 60)
  22. Unblocked = (10, 61)
  23. class Channel:
  24. """AMQ Channel class."""
  25. CLASS_ID = 20
  26. Open = (20, 10)
  27. OpenOk = (20, 11)
  28. Flow = (20, 20)
  29. FlowOk = (20, 21)
  30. Close = (20, 40)
  31. CloseOk = (20, 41)
  32. class Exchange:
  33. """AMQ Exchange class."""
  34. CLASS_ID = 40
  35. Declare = (40, 10)
  36. DeclareOk = (40, 11)
  37. Delete = (40, 20)
  38. DeleteOk = (40, 21)
  39. Bind = (40, 30)
  40. BindOk = (40, 31)
  41. Unbind = (40, 40)
  42. UnbindOk = (40, 51)
  43. class Queue:
  44. """AMQ Queue class."""
  45. CLASS_ID = 50
  46. Declare = (50, 10)
  47. DeclareOk = (50, 11)
  48. Bind = (50, 20)
  49. BindOk = (50, 21)
  50. Purge = (50, 30)
  51. PurgeOk = (50, 31)
  52. Delete = (50, 40)
  53. DeleteOk = (50, 41)
  54. Unbind = (50, 50)
  55. UnbindOk = (50, 51)
  56. class Basic:
  57. """AMQ Basic class."""
  58. CLASS_ID = 60
  59. Qos = (60, 10)
  60. QosOk = (60, 11)
  61. Consume = (60, 20)
  62. ConsumeOk = (60, 21)
  63. Cancel = (60, 30)
  64. CancelOk = (60, 31)
  65. Publish = (60, 40)
  66. Return = (60, 50)
  67. Deliver = (60, 60)
  68. Get = (60, 70)
  69. GetOk = (60, 71)
  70. GetEmpty = (60, 72)
  71. Ack = (60, 80)
  72. Nack = (60, 120)
  73. Reject = (60, 90)
  74. RecoverAsync = (60, 100)
  75. Recover = (60, 110)
  76. RecoverOk = (60, 111)
  77. class Confirm:
  78. """AMQ Confirm class."""
  79. CLASS_ID = 85
  80. Select = (85, 10)
  81. SelectOk = (85, 11)
  82. class Tx:
  83. """AMQ Tx class."""
  84. CLASS_ID = 90
  85. Select = (90, 10)
  86. SelectOk = (90, 11)
  87. Commit = (90, 20)
  88. CommitOk = (90, 21)
  89. Rollback = (90, 30)
  90. RollbackOk = (90, 31)