]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Introduce virNetClientStreamRecvHole
authorMichal Privoznik <mprivozn@redhat.com>
Fri, 20 May 2016 13:28:29 +0000 (15:28 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Thu, 18 May 2017 05:42:13 +0000 (07:42 +0200)
This function will fetch previously processed stream holes and
return their sum.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
src/libvirt_remote.syms
src/rpc/virnetclientstream.c
src/rpc/virnetclientstream.h

index 186d2c622b0b745d532c7723f4035d0127652167..61c20d530bc82996a17c0ceca4f503f4bfc91f5d 100644 (file)
@@ -52,6 +52,7 @@ virNetClientStreamMatches;
 virNetClientStreamNew;
 virNetClientStreamQueuePacket;
 virNetClientStreamRaiseError;
+virNetClientStreamRecvHole;
 virNetClientStreamRecvPacket;
 virNetClientStreamSendHole;
 virNetClientStreamSendPacket;
index 91df5d483b543e7e9176ac1193b8a7ed0570071c..53378ff997aeb813dfb1f10fc27d2f8de3997c39 100644 (file)
@@ -584,6 +584,23 @@ virNetClientStreamSendHole(virNetClientStreamPtr st,
 }
 
 
+int
+virNetClientStreamRecvHole(virNetClientPtr client ATTRIBUTE_UNUSED,
+                           virNetClientStreamPtr st,
+                           long long *length)
+{
+    if (!st->allowSkip) {
+        virReportError(VIR_ERR_OPERATION_INVALID, "%s",
+                       _("Holes are not supported with this stream"));
+        return -1;
+    }
+
+    *length = st->holeLength;
+    st->holeLength = 0;
+    return 0;
+}
+
+
 int virNetClientStreamEventAddCallback(virNetClientStreamPtr st,
                                        int events,
                                        virNetClientStreamEventCallback cb,
index 1774e5ac3cc72c41b636afcbbea705feb8f74d9e..c4e01bf1cab098dfd6ca90910ed403246609ee42 100644 (file)
@@ -67,6 +67,10 @@ int virNetClientStreamSendHole(virNetClientStreamPtr st,
                                long long length,
                                unsigned int flags);
 
+int virNetClientStreamRecvHole(virNetClientPtr client,
+                               virNetClientStreamPtr st,
+                               long long *length);
+
 int virNetClientStreamEventAddCallback(virNetClientStreamPtr st,
                                        int events,
                                        virNetClientStreamEventCallback cb,