When playing with multithreaded senders I realized that corrupted messages are not released from the receive buffer leading to unnecessary increases to the buffer size. This change copies and returns valid messages from the buffer as before, but decrements the buffer read offset regardless, effectively removing corrupted data from the buffer.
When playing with multithreaded senders I realized that corrupted messages are not released from the receive buffer leading to unnecessary increases to the buffer size. This change copies and returns valid messages from the buffer as before, but decrements the buffer read offset regardless, effectively removing corrupted data from the buffer.