I'm trying to perform rpc on top of rabbitmq. &nbsp;However, if a rpc request sits idle in the queue for 2 seconds, I want the message to be dropped from the queue and for the client to throw an error.<div><br></div><div>To do this, I've been playing around with dead letter exchanges. &nbsp;However, I keep seeing:</div><div><br></div><div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div>/Users/jordan/agles/web/back/node_modules/amqp/amqp.js:350</div><div>&nbsp; &nbsp; &nbsp; &nbsp; throw new Error("Unknown field value type " + buffer[buffer.read-1]);</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^</div><div>Error: Unknown field value type 65</div><div>&nbsp; &nbsp; at parseTable (/Users/jordan/agles/web/back/node_modules/amqp/amqp.js:350:15)</div><div>&nbsp; &nbsp; at parseFields (/Users/jordan/agles/web/back/node_modules/amqp/amqp.js:410:17)</div><div>&nbsp; &nbsp; at AMQPParser._parseHeaderFrame (/Users/jordan/agles/web/back/node_modules/amqp/amqp.js:469:20)</div><div>&nbsp; &nbsp; at frameEnd (/Users/jordan/agles/web/back/node_modules/amqp/amqp.js:190:16)</div><div>&nbsp; &nbsp; at frame (/Users/jordan/agles/web/back/node_modules/amqp/amqp.js:172:14)</div><div>&nbsp; &nbsp; at header (/Users/jordan/agles/web/back/node_modules/amqp/amqp.js:159:14)</div><div>&nbsp; &nbsp; at frameEnd (/Users/jordan/agles/web/back/node_modules/amqp/amqp.js:205:16)</div><div>&nbsp; &nbsp; at frame (/Users/jordan/agles/web/back/node_modules/amqp/amqp.js:172:14)</div><div>&nbsp; &nbsp; at AMQPParser.header [as parse] (/Users/jordan/agles/web/back/node_modules/amqp/amqp.js:159:14)</div><div>&nbsp; &nbsp; at AMQPParser.execute (/Users/jordan/agles/web/back/node_modules/amqp/amqp.js:231:21)</div></div></blockquote></div><div><br></div><div><br></div><div>Here's my clientTest.coffee:</div><div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div>amqp = require 'amqp'</div><div><br></div><div>connection = amqp.createConnection()</div><div>connection.on 'ready', () -&gt;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>await</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>connection.exchange 'rpc exchange', type: 'direct', defer exchange</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>connection.exchange 'dead letter exchange', type: 'fanout', defer deadLetterExchange</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>await</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>connection.queue '', exclusive: true, defer responseQueue</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>connection.queue '', exclusive: true, defer deadLetterQueue</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>deadLetterQueue.bind deadLetterExchange, ''</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>responseQueue.subscribe (message, headers, deliveryInformation) =&gt;</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>console.log 'responseQueue received: ' + message.data</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>deadLetterQueue.subscribe (message, headers, deliveryInformation) =&gt;</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>console.log 'deadLetterQueue received: ' + message.data</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>startMakingRandomRequests exchange, responseQueue</div><div><br></div><div>startMakingRandomRequests = (exchange, responseQueue) -&gt;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>setInterval (()-&gt; makeRandomRequest exchange, responseQueue), 2000</div><div><br></div><div>makeRandomRequest = (exchange, responseQueue) -&gt;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>message = Math.random().toString()</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>exchange.publish 'rpc', message,</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>replyTo: responseQueue.name</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>console.log 'sent: ' + message</div></div><div><br></div></blockquote></div><div><br></div><div>And here's my serverTest.coffee:</div><div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div>amqp = require 'amqp'</div><div><br></div><div>connection = amqp.createConnection()</div><div>connection.on 'ready', () =&gt;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>await</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>connection.exchange 'rpc exchange', type: 'direct', defer exchange</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>connection.exchange 'dead letter exchange', type: 'fanout', defer deadLetterExchange</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>queueArguments =&nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>'x-message-ttl': 0</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>'x-dead-letter-exchange': 'dead letter exchange'</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>await&nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>connection.queue '', arguments: queueArguments, defer queue</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>queue.bind exchange, 'rpc'</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>queue.subscribe ack: true, (message, headers, deliveryInformation) -&gt;</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>console.log 'received: ' + message.data</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>connection.publish deliveryInformation.replyTo, message.data</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>console.log 'sent: ' + message.data</div><div><span class="Apple-tab-span" style="white-space:pre">                </span># queue.shift() &nbsp;NOT GOING TO SHIFT SO I CAN TEST DEAD LETTER</div></div></blockquote><div><br></div><div><br></div><div>Does anyone have any idea what's going on here? &nbsp;Hopefully I'm making a stupid mistake :(</div><div><br></div><div>Thanks guys,</div><div>Jordan&nbsp;</div></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div>