I'm doing some testing around consumer behaviour and I'd like to confirm that what I'm seeing on the wire is expected RabbitMQ behaviour. My environments are running Ubuntu 12.04.1 LTS (32bit and 64bit), Erlang R14B04 and RabbitMQ 3.0.1.<br><br>In my simple test I publish one message to a queue. Then I register a consumer on that queue. What I see coming back from the server (via Wireshark) is a frame that contains a consume-ok and a delivery message set as follows:<br><br>Frame 24: 250 bytes on wire (2000 bits), 250 bytes captured (2000 bits)<br>
Ethernet II, Src: 00:00:00_00:00:00 (00:00:00:00:00:00), Dst: 00:00:00_00:00:00 (00:00:00:00:00:00)<br>
Internet Protocol Version 4, Src: 127.0.0.1 (127.0.0.1), Dst: 127.0.0.1 (127.0.0.1)<br>
Transmission Control Protocol, Src Port: amqp (5672), Dst Port: 51578 (51578), Seq: 444, Ack: 440, Len: 184<br>
Advanced Message Queueing Protocol<br>
Type: Method (1)<br>
Channel: 2<br>
Length: 36<br>
Class: Basic (60)<br>
Method: Consume-Ok (21)<br>
Arguments<br>
Consumer-Tag: amq.ctag-74qvMgHQcikGwClWTdzjFg<br>
Advanced Message Queueing Protocol<br>
Type: Method (1)<br>
Channel: 2<br>
Length: 57<br>
Class: Basic (60)<br>
Method: Deliver (60)<br>
Arguments<br>
Consumer-Tag: amq.ctag-74qvMgHQcikGwClWTdzjFg<br>
Delivery-Tag: 1<br>
.... ...1 = Redelivered: True<br>
Exchange: <br>
Routing-Key: task_queue<br>
Advanced Message Queueing Protocol<br>
Type: Content header (2)<br>
Channel: 2<br>
Length: 41<br>
Class ID: Basic (60)<br>
Weight: 0<br>
Body size: 18<br>
Property flags: 0x9800<br>
Properties<br>
Content-Type: application/octet-stream<br>
Delivery-Mode: 2<br>
Priority: 0<br>
Advanced Message Queueing Protocol<br>
Type: Content body (3)<br>
Channel: 2<br>
Length: 18<br>
Payload: 4e6f7720776520697320706c6179696e2031<br><br>Is this what you would expect to see or should the consume-ok and delivery set be returned as separate frames? Any help would be much appreciated.<br>