def push(object)
      raise ClosedQueueError, "queue closed" if @close
      if (waiter = @waiters.shift)
        future = LightIO::Future.new
        LightIO::IOloop.current.add_callback {
          waiter.transfer(object)
          future.transfer
        }
        future.value
      else
        @queue << object
      end
      self
    end
def push(object)
      raise ClosedQueueError, "queue closed" if @close
      if (waiter = @waiters.shift)
        future = LightIO::Future.new
        LightIO::IOloop.current.add_callback {
          waiter.transfer(object)
          future.transfer
        }
        future.value
      else
        @queue << object
      end
      self
    end
push(object)
 enq(object)
 <<(object)

 Pushes the given +object+ to the queue.