After a publisher flushes a batch of messages the batch is (obviously) not received immediately by the service. While the batch remains pending it potentially consumes memory resources in the client (and/or the service).
Some applications may have constraints on the number of bytes and/or messages they can tolerate in this pending state, and may prefer to block or reject messages.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-14 UTC."],[[["This webpage provides a reference for the `MaxPendingMessagesOption` within the Google Cloud Pub/Sub C++ library, detailing its functionality and usage across different versions."],["The latest version available is 2.37.0-rc, with a comprehensive list of previous releases from 2.36.0 down to 2.11.0, allowing users to select documentation relevant to their specific version."],["`MaxPendingMessagesOption` controls the maximum number of messages that can be pending (not yet acknowledged by the service) after a publisher flushes a batch, which is crucial for managing memory usage and preventing resource overload."],["This option is critical for applications with strict constraints on memory or message buffering, providing a mechanism to block or reject messages when pending limits are reached."],["The data type for `MaxPendingMessagesOption` is essentially a size type, `std::size_t`, meaning it represents the capacity to hold the size of any object."]]],[]]