Hi, Most of patches were acked but sending them once more before pushing. Changes from v4 are: (Numbers based on previous series) * Commit log improvements in patches: 02, 06, 07, 08, 09, 10, 12, 14, 18, 21 * Comments/typos fixes in patches: 03, 21 * FIXMEs to address other concerns were included in patches: 03 * Dropped patch 04 as we don't need to save GFileInfo anymore * Logic changes regarding dealing with two different GErrors so we can easily say the one with high priority. * 0006: notify "progress" when read-async is called so the progress info is always related to the data sent instead of data read * 0007: Moved error-checking from spice_file_transfer_task_handle_status in channel-main.c to spice_file_transfer_task_completed() currently at channel-main.c but will be moved to spice_file_transfer_task_completed.c;The error is related to complete task while file-transfer is in pending state * 0008: renamed function from file_xfer_handle_status() to main_agent_handle_xfer_status * 0010: Removed SpiceFileTransferTask argument from file_xfer_queue_msg_to_agent * 0012: "file-xfer: a FileTransferOperation per transfer call" - removing type reference from variables name ('*_ht' as GHashTable); - renamed: file_transfer_operation_reset_all -> spice_main_channel_reset_all_xfer_operations - renamed: file_transfer_operation_find_task_by_id -> spice_main_channel_find_xfer_task_by_task_id - renamed: file_transfer_operation_end to file_transfer_operation_free - included a warning in case trying to reset a xfer-task that does not exist anymore - newer gcc complains about possible null pointer dereference.. fixed. * 0014: Fix progress data info as suggested by Jonathon: On error/cancel, we decrease the transfer_size by the amount of data not yet sent from the failed task. * 0015: Set proper domain/code to G_IO_ERROR/_CANCELLED when all tasks were cancelled * 0018: Changed the debug info related to amount of data transferred to be the amount of data read and moved it to the read file callback * 0020: Fixed alignment on src/Makefile.am * 0021: Removed type reference from HashTable variable; reworked the small summary regarding how a file transfer works * 0022: Added test to cancel *after* task_init is called * 0023: Added test to cancel *after* read_async is called Cheers, toso Victor Toso (23): file-xfer: task-id to start with 1 file-xfer: get functions for SpiceFileTransferTask file-xfer: introduce _create_tasks() file-xfer: introduce functions to init task async file-xfer: introduce functions to read file async main: to let SpiceFileTransferTask handle errors main: let channel-main handle file-xfer messages main: do not check for xfer-task errors file-xfer: improve helper function to queue agent message file-xfer: create helper function to send progress file-xfer: a FileTransferOperation per transfer call file-xfer: inform agent of errors only when task finished file-xfer: call progress_callback per FileTransferOperation file-xfer: call user callback once per operation file-xfer: do not send EOF to the agent file-xfer: Keep namespace of private function file-xfer: move debug to SpiceFileTransferTask main: use xfer_task instead of task or self file-xfer: move to spice-file-transfer-task.c tests: file-transfer include simple tests tests: file-transfer cancel on task init tests: file-transfer cancel on read async tests: file-transfer agent cancel src/Makefile.am | 2 + src/channel-main.c | 926 +++++++++++------------------------- src/spice-file-transfer-task-priv.h | 59 +++ src/spice-file-transfer-task.c | 737 ++++++++++++++++++++++++++++ tests/Makefile.am | 2 + tests/file-transfer.c | 430 +++++++++++++++++ 6 files changed, 1507 insertions(+), 649 deletions(-) create mode 100644 src/spice-file-transfer-task-priv.h create mode 100644 src/spice-file-transfer-task.c create mode 100644 tests/file-transfer.c -- 2.7.4 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel