claimMessage static method

Future<RetrieveMessagesResponse> claimMessage(
  1. P2PStream stream,
  2. PeerId ownerPeerId,
  3. String folderPath
)

Claim one message from another peer's claim mailbox (client-side). The response holds one message, or none when the mailbox is empty.

Implementation

static Future<RetrieveMessagesResponse> claimMessage(
  P2PStream stream,
  PeerId ownerPeerId,
  String folderPath,
) async {
  try {
    final requestBytes = AccessFrame.encodeClaimRequest(ownerPeerId, folderPath);
    await _writeFrameStatic(stream, requestBytes);

    final responseBytes = await _readFrameStatic(stream);
    return AccessFrame.decodeRetrieveResponse(responseBytes);
  } catch (e, stackTrace) {
    _logger.severe('Error claiming a message: $e', e, stackTrace);
    rethrow;
  }
}