Search code examples
rabbitmqamqp

Why isn't delivery_mode boolean in RabbitMQ / AMQP?


Reading RabbitMQ tutorials I stumbled upon this sentence:

delivery_mode: Marks a message as persistent (with a value of 2) or transient (any other value).

Why wasn't it made boolean if it has only two possible values? Did it have some other values previously?


Solution

  • In fact, AMQP 0.9.1 defines two values:

    octet delivery-mode Non-persistent (1) or persistent (2).

    RabbitMQ just interprets all values != 2 as equivalent to 1.

    I do not know the historical reasons for choosing octet as the type.