sendRawFrameAndMaybeAwaitReceipt

Sends the given frame as-is, without modifications to its headers, regardless of the configuration.

This means that:

If a receipt header is present in the given frame, this method suspends until the corresponding RECEIPT frame is received from the server. If no RECEIPT frame is received in the configured time limit, a LostReceiptException is thrown.

If no receipt header is present in the given frame, this method doesn't wait for a RECEIPT frame and never throws LostReceiptException. Instead, it returns immediately after sending the frame. In this case, there is no guarantee that the server received the frame when this method returns.

WARNING: Prefer using higher-level APIs over this function. Sending raw frames may break some invariants or the state of this session. In particular, using subscription-related frames could be a problem.