class QueueInputEndOfStream
Defined at line 1736 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/markers.h
Inform the server that all QueueInputPacket() messages for this stream
have been sent.
If the stream isn't closed first (by the client, or by OnStreamFailed(),
or StreamProcessor channel closing), there will later be a corresponding
OnOutputEndOfStream().
The corresponding OnOutputEndOfStream() message will be generated only if
the server finishes processing the stream before the server sees the
client close the stream (such as by starting a new stream). A way to
force the server to finish the stream before closing is to use
FlushEndOfStreamAndCloseStream() after QueueInputEndOfStream() before any
new stream. Another way to force the server to finish the stream before
closing is to wait for the OnOutputEndOfStream() before taking any action
that closes the stream.
In addition to serving as an "EndOfStream" marker to make it obvious
client-side when all input data has been processed, if a client never
sends QueueInputEndOfStream(), no amount of waiting will necessarily
result in all input data getting processed through to the output. Some
stream processors have some internally-delayed data which only gets
pushed through by additional input data _or_ by this EndOfStream marker.
In that sense, this message can be viewed as a flush-through at
InputData domain level, but the flush-through only takes effect if the
stream processor even gets that far before the stream is just closed at
StreamControl domain level. This message is not alone sufficient to act
as an overall flush-through at StreamControl level. For that, send this
message first and then send FlushEndOfStreamAndCloseStream() (at which
point it becomes possible to queue input data for a new stream without
causing discard of this older stream's data), or wait for the
OnOutputEndOfStream() before closing the current stream.
If a client sends QueueInputPacket(), QueueInputFormatDetails(),
QueueInputEndOfStream() for this stream after the first
QueueInputEndOfStream() for this stream, a server should close the
StreamProcessor channel.
Public Members
static const bool kHasClientToServer
static const bool kHasClientToServerBody
static const bool kHasServerToClient
static const bool kHasServerToClientBody
static const bool kHasNonEmptyUserFacingResponse
static const bool kHasDomainError
static const bool kHasFrameworkError
static const uint64_t kOrdinal