Go to file
Yonit Halperin cd402151de server/spice.h: semi-seamless migration interface, RHBZ #738266
semi-seamless migration details:

migration source side
---------------------
(1) spice_server_migrate_connect (*): tell client to link
    to the target side - send SPICE_MSG_MAIN_MIGRATE_BEGIN.
    This should be called upon client_migrate_info cmd.
    client_migrate_info is asynchronous.
(2) Complete spice_server_migrate_connect only when the client has been connected
    to the target - wait for SPICE_MSGC_MAIN_MIGRATE_(CONNECTED|CONNECT_ERROR) or a timeout.
(3) spice_server_migrate_end: tell client migration it can switch to the target - send
    SPICE_MSG_MAIN_MIGRATE_END.
(4) client cleans up all data related to the connection to the source and switches to the target.
    It sends SPICE_MSGC_MAIN_MIGRATE_END.

migration target side
---------------------
(1) the server identifies itself as a migraiton target since the client is linked with (connection_id != 0)
(2) server doesn't start the channels' logic (channel->link) till it receives SPICE_MSGC_MAIN_MIGRATE_END
    from the client.

*   After migration starts, the target qemu is blocked and cannot accept new spice client
    connections. Thus, we trigger the connection to the target upon client_migrate_info
    command.
(cherry picked from commit 6e56bea67c branch 0.8)

Conflicts:

	server/spice.h
2011-11-02 11:20:08 +02:00
client client/x11: reset screen positions in XMonitor::do_restore 2011-10-05 15:09:48 +02:00
common server: fix function prototypes 2011-09-05 07:52:20 +02:00
python_modules add check for pyparsing 2011-06-22 16:24:32 +02:00
server server/spice.h: semi-seamless migration interface, RHBZ #738266 2011-11-02 11:20:08 +02:00
tests tests/migrate.py: add --vdagent 2011-08-23 17:01:14 +03:00
tools Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
uncrustify_cfg fresh start 2009-10-14 15:06:41 +02:00
.gitignore gitignore: add generated_*, vim temps, pyc 2010-11-08 16:06:55 +02:00
AUTHORS fresh start 2009-10-14 15:06:41 +02:00
autogen.sh autogen: exit upon errors (subdir config) 2010-03-24 14:03:51 +01:00
ChangeLog fresh start 2009-10-14 15:06:41 +02:00
configure.ac Release 0.9.1 2011-08-25 14:55:52 +02:00
COPYING Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
GITVERSION Add --enable-werror and make it the default only for git builds 2010-07-09 12:14:32 +02:00
Makefile.am add SASL and smartcard to distcheck flags 2011-07-22 10:24:30 +02:00
NEWS Fixup NEWS entry for multiclient 2011-08-25 15:44:29 +02:00
README Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
spice1.proto spice-client migration: fix minor for old migration support. 2011-01-27 18:26:09 +02:00
spice_codegen.py don't #include config.h in generated header files 2011-06-22 16:29:52 +02:00
spice-server.pc.in spice-server.pc.in: move Requires to Requires.private 2011-10-23 11:26:30 +02:00
spice.proto spice.proto: add comment for origin of STYLED and START_WITH_GAP 2011-08-23 17:01:14 +03:00
TODO.multiclient server: add tester and todo for multiple client support 2011-08-23 19:18:23 +03:00

Copyright 2009 Red Hat, Inc. and/or its affiliates.

This program and libraries is free software; you can redistribute it
and/or modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, see <http://www.gnu.org/licenses/>.