On Wed, Oct 12, 2011 at 12:38:53PM +0200, Yonit Halperin wrote: > Conflicts: >
ACK. Please move the "cherry-picked from" messages from the status to the commit body if possible (not critical). > server/reds.h > > Signed-off-by: Yonit Halperin <yhalp...@redhat.com> > --- > server/reds.c | 29 +++++++++++++++++++++++++++++ > server/reds.h | 4 ++++ > 2 files changed, 33 insertions(+), 0 deletions(-) > > diff --git a/server/reds.c b/server/reds.c > index 79c2796..40b54bb 100644 > --- a/server/reds.c > +++ b/server/reds.c > @@ -73,6 +73,7 @@ > > SpiceCoreInterface *core = NULL; > static SpiceCharDeviceInstance *vdagent = NULL; > +static SpiceMigrateInstance *migration_interface = NULL; > > /* Debugging only variable: allow multiple client connections to the spice > * server */ > @@ -3364,6 +3365,20 @@ SPICE_GNUC_VISIBLE int > spice_server_add_interface(SpiceServer *s, > red_printf("unsupported net wire interface"); > return -1; > #endif > + } else if (strcmp(interface->type, SPICE_INTERFACE_MIGRATION) == 0) { > + red_printf("SPICE_INTERFACE_MIGRATION"); > + if (migration_interface) { > + red_printf("already have migration"); > + return -1; > + } > + > + if (interface->major_version != SPICE_INTERFACE_MIGRATION_MAJOR || > + interface->minor_version > SPICE_INTERFACE_MIGRATION_MINOR) { > + red_printf("unsupported migration interface"); > + return -1; > + } > + migration_interface = SPICE_CONTAINEROF(sin, SpiceMigrateInstance, > base); > + migration_interface->st = spice_new0(SpiceMigrateState, 1); > } > > return 0; > @@ -3863,7 +3878,15 @@ SPICE_GNUC_VISIBLE int > spice_server_migrate_connect(SpiceServer *s, const char* > int port, int > secure_port, > const char* cert_subject) > { > + SpiceMigrateInterface *sif; > + red_printf(""); > + ASSERT(migration_interface); > + ASSERT(reds == s); > + > red_printf("not implemented yet"); > + sif = SPICE_CONTAINEROF(migration_interface->base.sif, > SpiceMigrateInterface, base); > + sif->migrate_connect_complete(migration_interface); > + > return 0; > } > > @@ -3924,8 +3947,14 @@ SPICE_GNUC_VISIBLE int > spice_server_migrate_client_state(SpiceServer *s) > > SPICE_GNUC_VISIBLE int spice_server_migrate_end(SpiceServer *s, int > completed) > { > + SpiceMigrateInterface *sif; > + ASSERT(migration_interface); > ASSERT(reds == s); > reds_mig_finished(completed); > + sif = SPICE_CONTAINEROF(migration_interface->base.sif, > SpiceMigrateInterface, base); > + if (sif->migrate_end_complete) { > + sif->migrate_end_complete(migration_interface); > + } > return 0; > } > > diff --git a/server/reds.h b/server/reds.h > index 188bed5..7720b30 100644 > --- a/server/reds.h > +++ b/server/reds.h > @@ -95,6 +95,10 @@ struct SpiceNetWireState { > struct TunnelWorker *worker; > }; > > +struct SpiceMigrateState { > + int dummy; > +}; > + > ssize_t reds_stream_read(RedsStream *s, void *buf, size_t nbyte); > ssize_t reds_stream_write(RedsStream *s, const void *buf, size_t nbyte); > ssize_t reds_stream_writev(RedsStream *s, const struct iovec *iov, int > iovcnt); > -- > 1.7.6.4 > _______________________________________________ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel