Skip to main content

Limits & honest rejections

XCON Quee implements a pragmatic subset of AMQP 0-9-1 and refuses the rest with the correct close code rather than mis-serving it.

Refused, honestly

  • Transactions (tx.*) → NOT_IMPLEMENTED. Use publisher confirms.
  • Headers exchange and other unsupported exchange types → COMMAND_INVALID.
  • Redeclaring an exchange with a different typePRECONDITION_FAILED.
  • passive declare of a missing exchange/queue → NOT_FOUND.
  • Declaring an exclusive queue already held by another connection → RESOURCE_LOCKED.

Known v1 limits

  • basic.get is synchronous and blocks its connection's read loop for the poll window; it is the low-throughput path — prefer basic.consume for streaming.
  • delivery.exchange and message_count report "" / 0 (routing happens at publish time, so the origin exchange is not carried on the message).
  • Time-based retention can expire an un-acknowledged message past its window — see Retention.
  • Exactly-once is not offered; delivery is at-least-once — make consumers idempotent.