title: How to selectively delete messages from an AMQP (RabbitMQ) queue?
body: <p>I'd like to selectively delete messages from an AMQP queue without even reading them.</p>
  
  <p>The scenario is as follows:</p>
  
  <p>Sending side wants to expire messages of type X based on a fact that new information of type X arrived. Because it's very probable that the subscriber didn't consume latest message of type X yet, publisher should just delete previous X-type messages and put a newest one into the queue. The whole operation should be transparent to the subscriber - in fact he should use something as simple as STOMP to get the messages.</p>
  
  <p>How to do it using AMQP? Or maybe it's more convenient in another messaging protocol? </p>
  
  <p>I'd like to avoid a complicated infrastructure. The whole messaging needed is as simple as above: one queue, one subscriber, one publisher, but the publisher must have an ability to ad-hoc deleting the messages for a given criteria.</p>
  
  <p>The publisher client will use Ruby but actually I'd deal with any language as soon as I discover how to do it in the protocol.</p>