mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 03:12:22 +00:00
daemon: Introduce virNetServerProgramSendStreamHole
This is just a helper function that takes in a length value, encodes it into XDR and sends to client. Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
2e5671adf2
commit
fa19af0a13
@ -178,6 +178,7 @@ virNetServerProgramNew;
|
||||
virNetServerProgramSendReplyError;
|
||||
virNetServerProgramSendStreamData;
|
||||
virNetServerProgramSendStreamError;
|
||||
virNetServerProgramSendStreamHole;
|
||||
virNetServerProgramUnknownError;
|
||||
|
||||
|
||||
|
@ -548,6 +548,41 @@ int virNetServerProgramSendStreamData(virNetServerProgramPtr prog,
|
||||
}
|
||||
|
||||
|
||||
int virNetServerProgramSendStreamHole(virNetServerProgramPtr prog,
|
||||
virNetServerClientPtr client,
|
||||
virNetMessagePtr msg,
|
||||
int procedure,
|
||||
unsigned int serial,
|
||||
long long length,
|
||||
unsigned int flags)
|
||||
{
|
||||
virNetStreamHole data;
|
||||
|
||||
VIR_DEBUG("client=%p msg=%p length=%lld", client, msg, length);
|
||||
|
||||
memset(&data, 0, sizeof(data));
|
||||
data.length = length;
|
||||
data.flags = flags;
|
||||
|
||||
msg->header.prog = prog->program;
|
||||
msg->header.vers = prog->version;
|
||||
msg->header.proc = procedure;
|
||||
msg->header.type = VIR_NET_STREAM_HOLE;
|
||||
msg->header.serial = serial;
|
||||
msg->header.status = VIR_NET_CONTINUE;
|
||||
|
||||
if (virNetMessageEncodeHeader(msg) < 0)
|
||||
return -1;
|
||||
|
||||
if (virNetMessageEncodePayload(msg,
|
||||
(xdrproc_t) xdr_virNetStreamHole,
|
||||
&data) < 0)
|
||||
return -1;
|
||||
|
||||
return virNetServerClientSendMessage(client, msg);
|
||||
}
|
||||
|
||||
|
||||
void virNetServerProgramDispose(void *obj ATTRIBUTE_UNUSED)
|
||||
{
|
||||
}
|
||||
|
@ -104,4 +104,12 @@ int virNetServerProgramSendStreamData(virNetServerProgramPtr prog,
|
||||
const char *data,
|
||||
size_t len);
|
||||
|
||||
int virNetServerProgramSendStreamHole(virNetServerProgramPtr prog,
|
||||
virNetServerClientPtr client,
|
||||
virNetMessagePtr msg,
|
||||
int procedure,
|
||||
unsigned int serial,
|
||||
long long length,
|
||||
unsigned int flags);
|
||||
|
||||
#endif /* __VIR_NET_SERVER_PROGRAM_H__ */
|
||||
|
Loading…
x
Reference in New Issue
Block a user