On Thu, Jan 10, 2008 at 06:16:55PM -0500, David Roundy wrote: > On Thu, Jan 10, 2008 at 03:07:02PM -0800, John Meacham wrote: > > On Thu, Jan 10, 2008 at 05:37:48PM -0500, David Roundy wrote: > > > On Thu, Jan 10, 2008 at 02:00:05PM -0800, John Meacham wrote: > > > > Thu Jan 10 13:58:59 PST 2008 John Meacham <[EMAIL PROTECTED]> > > > > * add optional support for using the pure haskell Network.HTTP http > > > > implementation > > > > > > Thanks for the contribution! I notice that Network.HTTP uses strict > > > Strings > > > to store the file contents, which is rather troubling in terms of > > > performance! I suppose this opens the door for a potential rewrite of > > > Network.HTTP for darcs? > > > > Yes. I am actually working on adding persistant connections and > > ByteString support to HTTP for this. I just wanted to get the quick > > dirty and working version in there first and get some feedback. > > Great! That's exactly the news I wanted to hear! :) > > Have you taken followed the discussion we've been having about libwww and > the internal API? I think that the combination of getUrls and waitForURL > sounds like a good interface for pipelined downloads... although I notice > you mention persistent connections but not pipelining. Any chance you'd be > willing to take a shot at pipelining?
Yeah, I meant pipelining actually. well, both. I am not sure what the exact form of the API will take at the moment. I was thinking something like: data RemoteConnection = .... data Response = ... data Token = ... -- create a connection object newRemoteConnection :: IO RemoteConnection -- queue a request and what to do when you get the response. addRequest :: RemoteConnection -> URL -> (Response -> IO ()) -> IO Token -- wait for a specific one to finish waitForOne :: Token -> IO () -- wait for all to finish waitForAll :: RemoteConnection -> IO () which should be enough to provide the functionality of getUrls. John -- John Meacham - ⑆repetae.net⑆john⑈ _______________________________________________ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel