brpoplpush method

Future<String?> brpoplpush(
  1. String source,
  2. String destination,
  3. int timeout
)

BRPOPLPUSH is the blocking variant of RPOPLPUSH. When source contains elements, this command behaves exactly like RPOPLPUSH. When used inside a MULTI/EXEC block, this command behaves exactly like RPOPLPUSH. When source is empty, Redis will block the connection until another client pushes to it or until timeout is reached. A timeout of zero can be used to block indefinitely.

See RPOPLPUSH for more information.

Returns the element being popped from source and pushed to destination. If timeout is reached, a Null reply is returned.

Implementation

Future<String?> brpoplpush(String source, String destination, int timeout) async {
  final result = (await tier1.brpoplpush(source, destination, timeout));
  return result.handleAs(
    bulk: (type) => type.payload,
    array: (_) => null,
  );
}