[libvirt] [PATCH v2 20/38] Introduce VIR_NET_STREAM_SKIP message type
John Ferlan
jferlan at redhat.com
Thu May 4 22:17:23 UTC 2017
On 04/20/2017 06:01 AM, Michal Privoznik wrote:
> This is a special type of stream packet, that is bidirectional
> and will contain information on how much bytes are both sides
"...how many bytes both sides are..."
> skipping in the stream.
>
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
> daemon/stream.c | 3 ++-
> src/rpc/virnetclient.c | 1 +
> src/rpc/virnetprotocol.x | 12 +++++++++++-
> src/virnetprotocol-structs | 1 +
> 4 files changed, 15 insertions(+), 2 deletions(-)
>
yet again another area which I'm not very conversant, but I'll provide
some feedback...
> diff --git a/daemon/stream.c b/daemon/stream.c
> index 624a626..6899c18 100644
> --- a/daemon/stream.c
> +++ b/daemon/stream.c
> @@ -287,7 +287,8 @@ daemonStreamFilter(virNetServerClientPtr client ATTRIBUTE_UNUSED,
>
> virMutexLock(&stream->priv->lock);
>
> - if (msg->header.type != VIR_NET_STREAM)
> + if (msg->header.type != VIR_NET_STREAM &&
> + msg->header.type != VIR_NET_STREAM_SKIP)
> goto cleanup;
>
> if (!virNetServerProgramMatches(stream->prog, msg))
> diff --git a/src/rpc/virnetclient.c b/src/rpc/virnetclient.c
> index c959747..6cff3c4 100644
> --- a/src/rpc/virnetclient.c
> +++ b/src/rpc/virnetclient.c
> @@ -1284,6 +1284,7 @@ virNetClientCallDispatch(virNetClientPtr client)
> return virNetClientCallDispatchMessage(client);
>
> case VIR_NET_STREAM: /* Stream protocol */
> + case VIR_NET_STREAM_SKIP: /* Stream skip protocol */
"sparse stream protocol"? or "Stream skip size protocol"??
> return virNetClientCallDispatchStream(client);
>
> default:
> diff --git a/src/rpc/virnetprotocol.x b/src/rpc/virnetprotocol.x
> index 3623588..3530694 100644
> --- a/src/rpc/virnetprotocol.x
> +++ b/src/rpc/virnetprotocol.x
> @@ -143,6 +143,14 @@ const VIR_NET_MESSAGE_NUM_FDS_MAX = 32;
> * * status == VIR_NET_ERROR
> * remote_error Error information
> *
> + * - type == VIR_NET_STREAM_SKIP
> + * * status == VIR_NET_CONTINUE
> + * byte[] skip data
> + * * status == VIR_NET_ERROR
> + * remote_error error information
> + * * status == VIR_NET_OK
> + * <empty>
> + *
> */
> enum virNetMessageType {
> /* client -> server. args from a method call */
> @@ -156,7 +164,9 @@ enum virNetMessageType {
> /* client -> server. args from a method call, with passed FDs */
> VIR_NET_CALL_WITH_FDS = 4,
> /* server -> client. reply/error from a method call, with passed FDs */
> - VIR_NET_REPLY_WITH_FDS = 5
> + VIR_NET_REPLY_WITH_FDS = 5,
> + /* either direction, stream skip data packet */
"stream skip size packet" ??
Another weak ACK,
John
[NB: going to stop here for now. I did peek ahead a few patches... let's
see how/if the other reviews effect subsequent patches]
> + VIR_NET_STREAM_SKIP = 6
> };
>
> enum virNetMessageStatus {
> diff --git a/src/virnetprotocol-structs b/src/virnetprotocol-structs
> index a8cc603..c31683f 100644
> --- a/src/virnetprotocol-structs
> +++ b/src/virnetprotocol-structs
> @@ -6,6 +6,7 @@ enum virNetMessageType {
> VIR_NET_STREAM = 3,
> VIR_NET_CALL_WITH_FDS = 4,
> VIR_NET_REPLY_WITH_FDS = 5,
> + VIR_NET_STREAM_SKIP = 6,
> };
> enum virNetMessageStatus {
> VIR_NET_OK = 0,
>
More information about the libvir-list
mailing list