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

Jonathon Jongsma jjongsma at redhat.com
Wed Jul 6 16:22:54 UTC 2016


On Tue, 2016-07-05 at 16:12 +0200, Victor Toso wrote:
> Hi,
> 
> And I forgot to send the link to the repo upstream, sorry.
> https://gitlab.com/victortoso/spice-gtk.git
> 
> On Tue, Jul 05, 2016 at 03:07:07PM +0200, Victor Toso wrote:
> > 
> > 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
> > 


Thanks a lot. Looks great. There were a couple very minor comments on a few of
the patches, but you can consider all of the rest to be ACKed.

Jonathon


More information about the Spice-devel mailing list