/*
* call-seq:
* mq.shift([buffer, [timeout]]) => message
*
* Takes the highest priority message off the queue and returns
* the message as a String.
*
* If the optional +buffer+ is present, then it must be a String
* which will receive the data.
*
* If the optional +timeout+ is present, then it may be a Float
* or Integer specifying the timeout in seconds. Errno::ETIMEDOUT
* will be raised if +timeout+ has elapsed and there are no messages
* in the queue.
*
* On some older systems, the +timeout+ argument is not currently
* supported and may raise NotImplementedError if +timeout+ is used.
*/
static VALUE shift(int argc, VALUE *argv, VALUE self)
{
return _receive(0, argc, argv, self);
}