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@xxxxxxxxxx> > --- > 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, > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list