Request for the StreamingPull
streaming RPC method. This request
is used to establish the initial stream as well as to stream
acknowledgements and ack deadline modifications from the client to the
server.
List of acknowledgement IDs for acknowledging previously
received messages (received on this stream or a different
stream). If an ack ID has expired, the corresponding message
may be redelivered later. Acknowledging a message more than
once will not result in an error. If the acknowledgement ID is
malformed, the stream will be aborted with status
INVALID_ARGUMENT
.
List of acknowledgement IDs whose deadline will be modified
based on the corresponding element in
modify_deadline_seconds
. This field can be used to
indicate that more time is needed to process a message by the
subscriber, or to make the message available for redelivery if
the processing was interrupted.
A unique identifier that is used to distinguish client instances from each other. Only needs to be provided on the initial request. When a stream disconnects and reconnects for the same stream, the client_id should be set to the same value so that state associated with the old stream can be transferred to the new stream. The same client_id should not be used for different client instances.
Flow control settings for the maximum number of outstanding
bytes. When there are max_outstanding_bytes
or more worth
of messages currently sent to the streaming pull client that
have not yet been acked or nacked, the server will stop
sending more messages. The sending of messages resumes once
the number of outstanding bytes is less than this value. If
the value is <= 0, there is no limit to the number of
outstanding bytes. This property can only be set on the
initial StreamingPullRequest. If it is set on a subsequent
request, the stream will be aborted with status
INVALID_ARGUMENT
.