summaryrefslogtreecommitdiffstats
path: root/server
Commit message (Collapse)AuthorAgeFilesLines
* add server/tests/test_vdagentAlon Levy2012-09-022-0/+115
|
* server/tests/test_two_serversAlon Levy2012-09-022-0/+47
|
* server/tests: introduce Test structAlon Levy2012-09-025-146/+170
|
* server/red_worker: seamless: fix invalid memory referenceAlon Levy2012-08-301-3/+3
| | | | | | | | | replace add_ref with add for stack allocated SpiceMigrateDataDisplay. This fixes wrong MIGRATE_DATA message in display channel (symptom is glz_encoder_max being way too big, and malloc failure at target) seen on F18 with gcc-4.7.1-5.fc18.x86_64 and glibc-2.16-8.fc18.x86_64 (didn't appear on RHEL 6).
* server: freezed->froze, missing whitespace after declarationsAlon Levy2012-08-302-3/+5
|
* server: s/max_encdoers/max_encoders/Alon Levy2012-08-302-7/+7
|
* server/inputs_channel.c: whitespace fixYonit Halperin2012-08-301-1/+1
|
* server/red_tunnel_worker: remove unneeded expect_migrate_markAlon Levy2012-08-301-6/+0
|
* server/red_tunnel_worker.c: fix buildAlon Levy2012-08-281-44/+18
| | | | Only passes compile, not tested.
* inputs: handle SPICE_MSGC_INPUTS_KEY_SCANCODEMarc-André Lureau2012-08-271-0/+10
| | | | | Handle SPICE_MSGC_INPUTS_KEY_SCANCODE message, allowing arbitrary keyboard scancode sequence.
* server/red_worker: handle_dev_update_area: fail if invalid areaAlon Levy2012-08-271-0/+6
|
* enable seamless migration and set migration protocol versionYonit Halperin2012-08-272-1/+2
|
* inputs channel migration: don't send any msg after MSG_MIGRATEYonit Halperin2012-08-271-5/+25
| | | | | Pending motion acks, and keyboard modifiers messages will be sent by the destination after receiving the migration data.
* inputs_channel: send and handle migration dataYonit Halperin2012-08-271-3/+49
|
* migration_protocol: add inputs channel migration dataYonit Halperin2012-08-271-0/+12
| | | | | | Storing the motion count in uint16_t and not in uint32_t since the exact count is not important, just its division in SPICE_INPUT_MOTION_ACK_BUNCH (see the next 2 patches).
* main_channel: don't expect init msg in a seamless migration destinationYonit Halperin2012-08-271-3/+8
| | | | | If the server is a destination of seamless migration, send msgs to the client, even though an init msg has not been sent to the client.
* red_channel: set send_data.last_sent_serial in ↵Yonit Halperin2012-08-271-0/+1
| | | | | | | | red_channel_client_set_message_serial red_channel_client_set_message_serial is called for setting the serial of the display channel messages after migration (on the destination side). The serial is retrieved from the migration data.
* red_channel: remove unused migrate flag from RedChannelYonit Halperin2012-08-278-22/+12
| | | | The relevant flags reside in RedChannelClient and RedClient
* snd_worker: handling migrationYonit Halperin2012-08-271-61/+17
| | | | | | | | | | The playback and record channel send SPICE_MSG_MIGRATE to the client. Both playback and record channel does not have a state to restore: while in the legacy migration implementation the record channel used to restore the mode and start time, it looks unnecessary since the client receives from the src MSG_RECORD_STOP before the migration completion notification (when the vm is stopped). Afterwards, when the vm starts on the dest side, the client receives MSG_RECORD_START.
* snd_channel: fix double releaseYonit Halperin2012-08-271-10/+17
| | | | | | | | Due to the fix in the previous patch, snd_disconnect_channel can be called both when there is write/read error in the channel, or from red_client_destroy (which calls client_cbs.disconnect). Multiple calls to snd_disconnect_channel resulted in calling channel->cleanup(channel) more than once (double release).
* red_channel (dummy): fix not adding dummy RedChannelClient to the clientYonit Halperin2012-08-273-14/+26
| | | | | | | | | | | snd channel wasn't added to be part of the client's channels list. As a result, when the client was destroyed, or migrated, snd channel client wasn't destroy, or its migration callback wasn't called. However, due to adding dummy channels to the client, we need special handling for calls to disconnecting dummy channel clients. TODO: we need to refactor snd_worker to use red_channel
* display migration: restore destination stateYonit Halperin2012-08-271-74/+148
| | | | | | Restoring display channel from migration data. Not notifying client about changes that are artifacts of loading the vm. Remove legacy migration code.
* display migration: marshall migration dataYonit Halperin2012-08-271-6/+46
|
* display & cursor migration: send SPICE_MSG_MIGRATEYonit Halperin2012-08-271-52/+3
|
* migration_protocol: add display channel migration dataYonit Halperin2012-08-271-0/+73
|
* inputs channel: use the default red_channel behaviour for client_cbs.migrateYonit Halperin2012-08-271-7/+0
| | | | The default callback sends SPICE_MSG_MIGRATE to the client.
* inputs channel: fix using spice messages enums as pipe items typeYonit Halperin2012-08-271-13/+11
| | | | | | A channel pipe item type must start from PIPE_ITEM_TYPE_CHANNEL_BASE. SPICE_MSG_MIGRATE value eq. PIPE_ITEM_TYPE_SET_ACK. Setting a pipe item type to SPICE_MSG_MIGRATE, leads to red_channel handling PIPE_ITEM_TYPE_SET_ACK.
* char_device: don't connect a migrated client if the state of the device ↵Yonit Halperin2012-08-275-38/+72
| | | | | | | | might have changed since it was created If reading/writing from the device have occured before migration data has arrived, the migration data might no longer be relvant, and we disconnect the client.
* main: restore state from migration dataYonit Halperin2012-08-274-53/+168
| | | | Also removed old migration leftovers.
* main: send migration dataYonit Halperin2012-08-273-23/+95
| | | | | Also removed some unused definitions from reds that used to belong to old agent and migration code.
* main: send MSG_MIGRATE upon vm migration completionYonit Halperin2012-08-274-1/+56
| | | | | | | | | Before sending the above msg, if there is a pending partial msg that has been read from the agent, we send it to the client. The alternative was to keep the msg as part of the migration data, and then to send it to the destination server via the client and to wait there for the msg chunk completion, before sending it to the client. Of course, the latter is less efficient.
* reds: s/HADER/HEADERYonit Halperin2012-08-271-5/+5
|
* migration_protocol: add migration data for the main channel (mainly for the ↵Yonit Halperin2012-08-271-0/+33
| | | | agent)
* main_channel: fix using spice messages enums as pipe items typeYonit Halperin2012-08-272-107/+147
| | | | | | | | | A channel pipe item type must start from PIPE_ITEM_TYPE_CHANNEL_BASE. SPICE_MSG_MIGRATE value eq. PIPE_ITEM_TYPE_SET_ACK. Setting a pipe item type to SPICE_MSG_MIGRATE, leads to red_channel handling PIPE_ITEM_TYPE_SET_ACK. Also removed sending SPICE_MSG_MIGRATE. It will be handled in the next patch.
* red_channel: introduce PIPE_ITEM_TYPE_EMPTY_MSGYonit Halperin2012-08-272-0/+43
| | | | The pipe item is used for sending messages that don't have body.
* smartcard: restore state after migration from migration dataYonit Halperin2012-08-271-7/+75
|
* smartcard migration: send migration dataYonit Halperin2012-08-271-5/+51
|
* migration_protocol: add migration data for smartcardYonit Halperin2012-08-271-0/+14
|
* smartcard: send MSG_MIGRATE upon vm migration completionYonit Halperin2012-08-271-5/+0
| | | | | The above is the default behaviour for red_channel_client, if client_cbs.migrate is not registered as part of red_channel_register_client_cbs
* smartcard: fix PIPE_ITEMs enum indexingYonit Halperin2012-08-271-1/+1
| | | | | The enum should start from PIPE_ITEM_TYPE_CHANNEL_BASE, otherwise, PIPE_ITEM_TYPE_ERROR is handled like PIPE_ITEM_TYPE_SET_ACK.
* smartcard: change the timing of attaching a client to SpiceCharDeviceStateYonit Halperin2012-08-271-45/+75
| | | | | | | | | Attach/detach a client to a SpiceCharDeviceState upon its connection/disconnection, instead of upon reader_add/remove messages. When the client is removed from a SpiceCharDeviceState, all the messages from this client are removed from the device write queue. This shouldn't happen when we only receive reader_remove and the client is still connected.
* spicevmc migration: restore migration dest state from migration dataYonit Halperin2012-08-271-2/+29
|
* spicevmc migration: send migration dataYonit Halperin2012-08-271-5/+55
|
* spicevmc: send MSG_MIGRATE upon vm migration completionYonit Halperin2012-08-271-6/+0
| | | | | The above is the default behaviour for red_channel_client, if client_cbs.migrate is not registered as part of red_channel_register_client_cbs
* migration_protocol: add migration data for spicevmcYonit Halperin2012-08-271-0/+11
|
* char device migration: restore state at destination from migration dataYonit Halperin2012-08-272-0/+52
|
* char device migration: don't read or write from/to the device while waiting ↵Yonit Halperin2012-08-275-14/+32
| | | | for migraion data
* char device migration: marshall migration dataYonit Halperin2012-08-272-0/+74
|
* char_device: variable token price for write buffersYonit Halperin2012-08-272-12/+29
| | | | | | | When restoring migration data, we also restore data that is addressed to the device, and that might have been originated from more than 1 message. When the write buffer that is assoicated with this data is released, we need to free all the relevant tokens.
* migration_protocol: add migration data for char devicesYonit Halperin2012-08-271-0/+20
|