[Spice-devel] [spice-gtk v5 00/23] move/improve SpiceFileTransferTask

Victor Toso victortoso at redhat.com
Tue Jul 5 13:07:07 UTC 2016


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



More information about the Spice-devel mailing list