A blocking Iterable-style wrapper around server stream responses.
This class asynchronously pulls responses from upstream via StreamController#request(int) and exposes them via its Iterator. The implementation is back
pressure aware and uses a constant buffer of 1 item.
Please note that the stream can only be consumed once and must either be fully consumed or be
canceled.
Neither this class nor the iterator it returns is thread-safe.
Cleanly cancels a partially consumed stream. The associated iterator will return false for the
hasNext() in the next iteration. This maintains the contract that an observed true from
hasNext() will yield an item in next(), but afterwards will return false.
isReceiveReady()
publicbooleanisReceiveReady()
Returns true if the next call to the iterator's hasNext() or next() is guaranteed to be
nonblocking.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-15 UTC."],[[["\u003cp\u003eThis webpage provides documentation for the \u003ccode\u003eServerStream\u003c/code\u003e class in the Google API Client Library for Java, offering various versions of the class, ranging from 2.7.1 to 2.63.1.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eServerStream\u003c/code\u003e class is a blocking, Iterable-style wrapper for server stream responses, allowing asynchronous retrieval of responses and exposing them through its \u003ccode\u003eIterator\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe class utilizes back-pressure awareness and maintains a constant buffer of 1 item, allowing the stream to only be consumed once and requiring it to be fully consumed or canceled.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eServerStream\u003c/code\u003e class includes methods like \u003ccode\u003ecancel()\u003c/code\u003e, for cleanly canceling a stream, \u003ccode\u003eisReceiveReady()\u003c/code\u003e, to check for non-blocking calls, and \u003ccode\u003eiterator()\u003c/code\u003e, which returns an Iterator for traversing the stream's elements.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of \u003ccode\u003eServerStream\u003c/code\u003e is version 2.63.1, which is found at the top of the version list, with other previous versions being linked in descending order.\u003c/p\u003e\n"]]],[],null,[]]