RE: Move and copy messages



On Thu, 2006-11-23 at 19:54 +0200, Dirk-Jan Binnema nokia com wrote:

Making it async will, just like for the header-getting, be implemented
at tinymail's level. Not at Camel's level (as I don't trust Camel's
multi threaded design a lot, and as I want to make sure that replacing
Camel with a fully blocking E-mailing library wouldn't be impossible
cause of such things).

This indeed implies getting the locking right "in tinymail", rather than
relying on Camel's own locking.

Making it async should be done a lot like the header-getting and maybe
do it message per message in tinymail (not in Camel) to have more
control over the progression and status messages being thrown at the
status_callback handler.

Note that whoever implements such an async API, must also fix the Python
bindings to support this (it's not hard, just copy the existing ones for
getting-the-headers).


> Great work! Some comments though:
> 
> One issue here (also with creating folders I guess) is blocking; moving
> messages, creating folders etc. could take quite some time when on
> remote servers, esp. when you you are not connected yet, etc.
> 
> So, I guess it would be nice to make a non-blocking version which
> takes a callback as a parameter, to report status later? Assuming that
> is possible on the camel level?
> 
> Then, the patch:
> - I would not use g_assert there; maybe g_return_if_fail would be
> better?
> - I would make a special case for src == dst, just like you make a 
>   special case for list_length == 0
> - iter must be unref'd I guess (in tny_camel_folder_transfer_msgs)?
> 
> That's all.
> 
> Best wishes,
> Dirk.
> _______________________________________________
> tinymail-devel-list mailing list
> tinymail-devel-list gnome org
> http://mail.gnome.org/mailman/listinfo/tinymail-devel-list
-- 
Philip Van Hoof, software developer
home: me at pvanhoof dot be 
gnome: pvanhoof at gnome dot org 
http://www.pvanhoof.be/blog







[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]