From RabbitMQ - Message order of delivery
Section 4.7 of the AMQP 0-9-1 core specification explains the conditions under which ordering is guaranteed: messages published in one channel, passing through one exchange and one queue and one outgoing channel will be received in the same order that they were sent. RabbitMQ offers stronger guarantees since release 2.7.0.
Does this hold with EasyNetQ? I would have expected it to hold, but I'm sometimes (but not always) seeing a different behaviour.
If the consumer is synchronized (not my case yet; I have locking but it begins after an "if" which is always false in this case), should I trust messages to be consumed in the order they are published? (Same type of message, same origin, going to same destination) Or are there other elements at play here internal to EasyNetQ which I should be aware of which don't preserve the message order of delivery?