[libvirt] [PATCH v2 22/38] daemon: Introduce virNetServerProgramSendStreamSkip
John Ferlan
jferlan at redhat.com
Fri May 5 15:26:10 UTC 2017
On 04/20/2017 06:01 AM, Michal Privoznik wrote:
> This is just a helper function that takes in a length value,
> encodes it into XDR and sends to client.
would be adjusted w/ @flags arg....
>
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
> src/libvirt_remote.syms | 1 +
> src/rpc/virnetserverprogram.c | 33 +++++++++++++++++++++++++++++++++
> src/rpc/virnetserverprogram.h | 7 +++++++
> 3 files changed, 41 insertions(+)
>
> diff --git a/src/libvirt_remote.syms b/src/libvirt_remote.syms
> index ca1f3ac..29dceab 100644
> --- a/src/libvirt_remote.syms
> +++ b/src/libvirt_remote.syms
> @@ -178,6 +178,7 @@ virNetServerProgramNew;
> virNetServerProgramSendReplyError;
> virNetServerProgramSendStreamData;
> virNetServerProgramSendStreamError;
> +virNetServerProgramSendStreamSkip;
> virNetServerProgramUnknownError;
>
>
> diff --git a/src/rpc/virnetserverprogram.c b/src/rpc/virnetserverprogram.c
> index d1597f4..6d84056 100644
> --- a/src/rpc/virnetserverprogram.c
> +++ b/src/rpc/virnetserverprogram.c
> @@ -548,6 +548,39 @@ int virNetServerProgramSendStreamData(virNetServerProgramPtr prog,
> }
>
>
> +int virNetServerProgramSendStreamSkip(virNetServerProgramPtr prog,
> + virNetServerClientPtr client,
> + virNetMessagePtr msg,
> + int procedure,
> + unsigned int serial,
> + unsigned long long length)
Doesn't follow the newer style
int
vir...(args...)
Of course now it starts dawning on me... if the functions change to
SetSkip and GetSkip - then I'd assume that has impact for the RPC
nomenclature too. Of course seeing "SetSkip" in a name for RPC would
make things even more clear (unless of course you're the one that's been
working on this code for a long time and already have the names burned
into your memory).
Will need a flags argument too for @data...
John
> +{
> + virNetStreamSkip data;
> +
> + VIR_DEBUG("client=%p msg=%p length=%llu", client, msg, length);
> +
> + memset(&data, 0, sizeof(data));
> + data.length = length;
> +
> + msg->header.prog = prog->program;
> + msg->header.vers = prog->version;
> + msg->header.proc = procedure;
> + msg->header.type = VIR_NET_STREAM_SKIP;
> + msg->header.serial = serial;
> + msg->header.status = VIR_NET_CONTINUE;
> +
> + if (virNetMessageEncodeHeader(msg) < 0)
> + return -1;
> +
> + if (virNetMessageEncodePayload(msg,
> + (xdrproc_t) xdr_virNetStreamSkip,
> + &data) < 0)
> + return -1;
> +
> + return virNetServerClientSendMessage(client, msg);
> +}
> +
> +
> void virNetServerProgramDispose(void *obj ATTRIBUTE_UNUSED)
> {
> }
> diff --git a/src/rpc/virnetserverprogram.h b/src/rpc/virnetserverprogram.h
> index 531fca0..eba2168 100644
> --- a/src/rpc/virnetserverprogram.h
> +++ b/src/rpc/virnetserverprogram.h
> @@ -104,4 +104,11 @@ int virNetServerProgramSendStreamData(virNetServerProgramPtr prog,
> const char *data,
> size_t len);
>
> +int virNetServerProgramSendStreamSkip(virNetServerProgramPtr prog,
> + virNetServerClientPtr client,
> + virNetMessagePtr msg,
> + int procedure,
> + unsigned int serial,
> + unsigned long long length);
> +
> #endif /* __VIR_NET_SERVER_PROGRAM_H__ */
>
More information about the libvir-list
mailing list