summaryrefslogtreecommitdiffstats
path: root/server/char_device.c
Commit message (Collapse)AuthorAgeFilesLines
* char_device: don't connect a migrated client if the state of the device ↵Yonit Halperin2012-08-271-8/+14
| | | | | | | | 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.
* char device migration: restore state at destination from migration dataYonit Halperin2012-08-271-0/+49
|
* char device migration: don't read or write from/to the device while waiting ↵Yonit Halperin2012-08-271-5/+19
| | | | for migraion data
* char device migration: marshall migration dataYonit Halperin2012-08-271-0/+69
|
* char_device: variable token price for write buffersYonit Halperin2012-08-271-12/+28
| | | | | | | 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.
* reds: add tracking for char devicesYonit Halperin2012-08-271-0/+1
| | | | | | The list of attached char_devices will be used in the next patch for notifying each instance of SpiceCharDeviceState when the vm is started or stopped.
* char_device: move SpiceCharDeviceState from the headerYonit Halperin2012-07-031-0/+23
| | | | In addition, I also removed the no longer used wakeup callback
* char_device: Introducing shared flow control code for char devices.Yonit Halperin2012-07-031-0/+752
SpiceCharDeviceState manages the (1) write-to-device queue (2) wakeup and reading from the device (3) client tokens (4) sending messages from the device to the client/s, considering the available tokens. SpiceCharDeviceState can be also stopped and started. When the device is stopped, no reading or writing is done from/to the device. Messages addressed from the client to the device are being queued. Later, an api for stop/start will be added to spice.h and it should be called from qemu. This patch does not yet remove the wakeup callback from SpiceCharDeviceState, but once all the char devices (agent/spicevmc/smartcard) code will switch to the new implementation, SpiceCharDeviceState will be moved to the c file and its reference to the wakeup callback will be removed.