The maximum number of outstanding bytes per streaming pull.
The Cloud Pub/Sub C++ client library uses streaming pull requests to receive messages from the service. The service will stop delivering messages if this many bytes or more worth of messages have not been acknowledged nor rejected.
If a negative or 0 value is supplied, the number of bytes will be unlimited.
Example
namespace pubsub =::google::cloud::pubsub; using::google::cloud::future; using::google::cloud::Options; using::google::cloud::StatusOr; auto sample =[](std::string project_id, std::string subscription_id){ // Change the flow control watermarks, by default the client library uses // 0 and 1,000 for the message count watermarks, and 0 and 10MiB for the // size watermarks. Recall that the library stops requesting messages if // any of the high watermarks are reached, and the library resumes // requesting messages when *both* low watermarks are reached. autoconstexpr kMiB =1024*1024L; auto subscriber = pubsub::Subscriber(pubsub::MakeSubscriberConnection( pubsub::Subscription(std::move(project_id), std::move(subscription_id)), Options{} .set<pubsub::MaxOutstandingMessagesOption>(1000) .set<pubsub::MaxOutstandingBytesOption>(8* kMiB)));
auto session = subscriber.Subscribe( [](pubsub::Messageconst& m, pubsub::AckHandler h){ std::move(h).ack(); std::cout <<"Received message "<< m <<"\n"; PleaseIgnoreThisSimplifiesTestingTheSamples(); }); return std::make_pair(subscriber, std::move(session)); };
[[["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-05 UTC."],[[["This webpage details the `MaxOutstandingBytesOption` within the Google Cloud Pub/Sub C++ client library, which controls the maximum number of unacknowledged or unrejected message bytes during streaming pull operations."],["The `MaxOutstandingBytesOption` is used to stop the service from delivering additional messages if the specified byte limit has been met, and the service will resume delivering when it falls back under the limit."],["Setting the `MaxOutstandingBytesOption` to a negative or zero value results in an unlimited number of bytes being allowed."],["The latest version available for this functionality is 2.37.0-rc, with multiple previous versions also listed, starting from 2.11.0 up to the latest one."],["`MaxOutstandingBytesOption` is an alias for `std::int64_t`, indicating it uses a 64-bit signed integer for representing the maximum bytes."]]],[]]