if (!(st = virStreamNew(priv->conn, VIR_STREAM_NONBLOCK)) ||
!(stream = daemonCreateClientStream(client, st, remoteProgram,
- &msg->header)))
+ &msg->header, false)))
goto cleanup;
if (virDomainMigratePrepareTunnel3Params(priv->conn, st, params, nparams,
virNetMessagePtr rx;
bool tx;
+ bool allowSkip;
+
daemonClientStreamPtr next;
};
daemonCreateClientStream(virNetServerClientPtr client,
virStreamPtr st,
virNetServerProgramPtr prog,
- virNetMessageHeaderPtr header)
+ virNetMessageHeaderPtr header,
+ bool allowSkip)
{
daemonClientStream *stream;
daemonClientPrivatePtr priv = virNetServerClientGetPrivateData(client);
stream->serial = header->serial;
stream->filterID = -1;
stream->st = st;
+ stream->allowSkip = allowSkip;
return stream;
}
daemonCreateClientStream(virNetServerClientPtr client,
virStreamPtr st,
virNetServerProgramPtr prog,
- virNetMessageHeaderPtr hdr);
+ virNetMessageHeaderPtr hdr,
+ bool allowSkip);
int daemonFreeClientStream(virNetServerClientPtr client,
daemonClientStream *stream);
if (!(netst = virNetClientStreamNew(st,
priv->remoteProgram,
REMOTE_PROC_DOMAIN_MIGRATE_PREPARE_TUNNEL3,
- priv->counter)))
+ priv->counter,
+ false)))
goto done;
if (virNetClientAddStream(priv->client, netst) < 0) {
if (!(netst = virNetClientStreamNew(st,
priv->remoteProgram,
REMOTE_PROC_DOMAIN_MIGRATE_PREPARE_TUNNEL3_PARAMS,
- priv->counter)))
+ priv->counter,
+ false)))
goto cleanup;
if (virNetClientAddStream(priv->client, netst) < 0) {
print " if (!(st = virStreamNew(priv->conn, VIR_STREAM_NONBLOCK)))\n";
print " goto cleanup;\n";
print "\n";
- print " if (!(stream = daemonCreateClientStream(client, st, remoteProgram, &msg->header)))\n";
+ print " if (!(stream = daemonCreateClientStream(client, st, remoteProgram, &msg->header, false)))\n";
print " goto cleanup;\n";
print "\n";
}
if ($call->{streamflag} ne "none") {
print "\n";
- print " if (!(netst = virNetClientStreamNew(st, priv->remoteProgram, $call->{constname}, priv->counter)))\n";
+ print " if (!(netst = virNetClientStreamNew(st, priv->remoteProgram, $call->{constname}, priv->counter, false)))\n";
print " goto done;\n";
print "\n";
print " if (virNetClientAddStream(priv->client, netst) < 0) {\n";
virNetMessagePtr rx;
bool incomingEOF;
+ bool allowSkip;
+
virNetClientStreamEventCallback cb;
void *cbOpaque;
virFreeCallback cbFree;
virNetClientStreamPtr virNetClientStreamNew(virStreamPtr stream,
virNetClientProgramPtr prog,
int proc,
- unsigned serial)
+ unsigned serial,
+ bool allowSkip)
{
virNetClientStreamPtr st;
st->prog = virObjectRef(prog);
st->proc = proc;
st->serial = serial;
+ st->allowSkip = allowSkip;
return st;
}
virNetClientStreamPtr virNetClientStreamNew(virStreamPtr stream,
virNetClientProgramPtr prog,
int proc,
- unsigned serial);
+ unsigned serial,
+ bool allowSkip);
bool virNetClientStreamRaiseError(virNetClientStreamPtr st);