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

Victor Toso lists at victortoso.com
Thu Jul 7 14:24:28 UTC 2016


Hi,

On Wed, Jul 06, 2016 at 11:22:54AM -0500, Jonathon Jongsma wrote:
> 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

Many thanks for the reviews, really.

I removed the 'do not send EOF to the agent' patch to avoid regression
from https://bugzilla.redhat.com/show_bug.cgi?id=1135099;
I fixed the typos and included all the comments suggestions.

Pushed upstream 2fbdb68afa09afe .. 95c570274f2e041

Cheers,
  toso


More information about the Spice-devel mailing list