[Spice-devel] [PATCH spice-common 2/2] RFC protocol: Allows to send partial frame data
Christophe de Dinechin
dinechin at redhat.com
Tue Nov 7 11:11:00 UTC 2017
Frediano Ziglio writes:
> Reduce the needs to buffer the entire frame and than send
> and on the other end to wait the entire frame before processing.
> Some encodings allow to start processing before having a full
> frame allowing to reduce latency and buffering with huge frames.
>
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
> common/messages.h | 6 ++++++
> spice.proto | 9 +++++++++
> 2 files changed, 15 insertions(+)
>
> diff --git a/common/messages.h b/common/messages.h
> index b838881..18e2036 100644
> --- a/common/messages.h
> +++ b/common/messages.h
> @@ -368,6 +368,12 @@ typedef struct SpiceMsgDisplayStreamDestroy {
> uint32_t id;
> } SpiceMsgDisplayStreamDestroy;
>
> +typedef struct SpiceMsgDisplayStreamPartialData {
> + SpiceStreamDataHeader base;
> + uint32_t data_size;
> + uint8_t *data;
> +} SpiceMsgDisplayStreamPartialData;
Why put the SpiceMsgDisplayStreamPartialData after
SpiceMsgDisplayStreamDestroy and not after SpiceMsgDisplayStreamDataSized?
> +
> typedef struct SpiceMsgDisplayStreamActivateReport {
> uint32_t stream_id;
> uint32_t unique_id;
> diff --git a/spice.proto b/spice.proto
> index 2896966..8e88649 100644
> --- a/spice.proto
> +++ b/spice.proto
> @@ -771,6 +771,15 @@ channel DisplayChannel : BaseChannel {
>
> Empty stream_destroy_all;
>
> + /* This message is used to transmit part of a stream frame.
> + * Last stream frame data chunk should be sent with a stream_data
> + * message.
> + */
> + message {
> + StreamDataHeader base;
> + uint8 data[] @as_ptr(data_size) @nomarshal;
> + } stream_partial_data;
Same comment about the location?
> +
> message {
> DisplayBase base;
> struct Fill {
--
Cheers,
Christophe de Dinechin (IRC c3d)
More information about the Spice-devel
mailing list