cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: RFC: More imap patch.

From: Daniel Stenberg <daniel_at_haxx.se>
Date: Tue, 6 Apr 2010 23:30:09 +0200 (CEST)

On Tue, 6 Apr 2010, Ben Greear wrote:

>> If the above URL can be supported without the source becoming a maze, then
>> I'm all for it.
>
> That URL example is straight out of the RFC for IMAP URLs. This will
> currently be a pain for users to interact with since we need some way to
> tell the users where one message stops and another starts. We'd probably
> need new start-msg/stop-msg callbacks or something like that.

Exactly, and that is partly what the FTP wildcard patch introduces!

> With my current logic, specifically calling the Transfer is what makes
> multiple msgs work. I think that call to Transfer is a small thing...

I disagree and the primary reason why I think so is that it doesn't work with
the multi interface to do it this way. And since it needs to be done
differently to make it work with the multi interface, we can just as well aim
to make it done the same way for both to keep things simple (well, as simple
as we can anyway).

> If we explicitly do not support more than a single message, then I think we
> can use the transfer logic as you wish it used. It would make it less
> efficient to download lots of messages with CURL, but maybe that's not a big
> deal.

Maybe we can allow the ";uid=1:3" style of transfer just get everything in one
transfer and let the app figure out how to make anything out from it? It would
match how we currently support multiple ranges with HTTP: it will provide a
data stream that the app needs to parse.

> When I started hacking on imap the pp->cache contained headers + data. I
> don't see any way to avoid this while still using pingpong logic.

The pingpong logic is only a set of helper functions. There's nothing that
forces the IMAP code to use that if it ends up better and nicer using other
means. Or possibly we can improve the pingpong functions to work better for
IMAP. After all, the pingpong functions very recent (simple moved from the
previos FTP code and converted to become more generic) and we haven't yet
really ironed out all the wrinkles from them yet.

Let me also just say it again that I seriously appreciate your hard work on
this and I'm glad you're doing it!

-- 
  / daniel.haxx.se
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html
Received on 2010-04-06