@Override
  public byte[] brpoplpush(final byte[] source, final byte[] destination, final int timeout) {
    client.brpoplpush(source, destination, timeout);
    client.setTimeoutInfinite();
    try {
      return client.getBinaryBulkReply();
    } finally {
      client.rollbackTimeout();
    }
  }
@ Override public byte [ ] brpoplpush ( final byte [ ] source , final byte [ ] destination , final int timeout ) { client . brpoplpush ( source , destination , timeout ) ; client . setTimeoutInfinite ( ) ; try { return client . getBinaryBulkReply ( ) ; } finally { client . rollbackTimeout ( ) ; } }
Pop a value from a list, push it to another list and return it; or block until one is available
@param source
@param destination
@param timeout
@return the element