Rainbows! Rack HTTP server user/dev discussion
 help / color / mirror / code / Atom feed
* range requests and multipart responses
@ 2010-07-20  6:18 Eric Wong
       [not found] ` <20100720061803.GA8037-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org>
  0 siblings, 1 reply; 4+ messages in thread
From: Eric Wong @ 2010-07-20  6:18 UTC (permalink / raw)
  To: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw

Hi all,

Does anybody have real-world use cases of clients using Range: requests
with multiple comma-delimited byte ranges (and thus expecting multipart
responses)?  If not, I'm not going to bloat Rainbows! with it for now[1].

While being able to specify a single range is very useful for resuming
failed downloads and for things who want to "peek" at magic patterns
before requesting the rest of a file, I can't think of good use cases
for having to deal with multipart responses.

Even if you were writing a FUSE-based filesystem over HTTP, it wouldn't
even be useful for implementing preadv(2) since you can only specify a
single offset there.

Maybe if you mmap() a FUSE-ed file and two threads access the same file
in different parts at the *exact*same*time* the FUSE layer could be
smart enough to make a single HTTP request instead of two? :)


[1] - For the performance-minded, it's also tough to implement multipart
      responses efficiently using any sendfile() implementation.
      Our TCP_CORK support is far from optimal under Linux right now,
      and not using TCP_CORK would be even less efficient with extra
      multipart headers.  AFAIK, sendfilev() isn't available outside of
      Solaris, either.

-- 
Eric Wong
_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying


^ permalink raw reply	[flat|nested] 4+ messages in thread
* Re: range requests and multipart responses
@ 2010-09-03  3:26 russell muetzelfeldt
  0 siblings, 0 replies; 4+ messages in thread
From: russell muetzelfeldt @ 2010-09-03  3:26 UTC (permalink / raw)
  To: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw

On 20/07/2010, at 02:18:03 EDT, Eric Wong wrote:

> Does anybody have real-world use cases of clients using Range: requests
> with multiple comma-delimited byte ranges (and thus expecting multipart
> responses)?  If not, I'm not going to bloat Rainbows! with it for now[1].

I don't have evidence to hand, but I'm pretty sure I've seen the remote (http-served) disk image support in OSX's hdid(8) do this. Whether that's a use case you care about is another question entirely.

cheers

Russell

_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-09-03  7:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-07-20  6:18 range requests and multipart responses Eric Wong
     [not found] ` <20100720061803.GA8037-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org>
2010-07-20  9:21   ` James Tucker
     [not found]     ` <71E4CB4E-365A-4A6B-85EA-9C24415E1234-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2010-07-20 18:54       ` Eric Wong
  -- strict thread matches above, loose matches on Subject: below --
2010-09-03  3:26 russell muetzelfeldt

Code repositories for project(s) associated with this public inbox

	https://yhbt.net/rainbows.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).