Using the current splitfile spec, given that GJ eventually implements "streaming within a segment"... How many blocks would be needed for the first output chunk? => what would the startup time be Would that be any particular blocks? What would the granularity be? Can we stream within a block as well as within a segment?
Separately: we need the mainport options to be configurable, and documented, in the config file. One way to do this is just to make them regular Params/Config options. Any other suggestions? Also: When/how can we make splitfiles more transparent? Without sub-segment streaming, this seems unreasonable except maybe for really small files, and files that we have already downloaded... Keeping a list of recent successful splitfile downloads and doing those transparently might be helpful. Once we have sub-segment streaming, we could have a list of MIME types that we always stream, or at least a per-type size limit. Finally: Splitfiles are the basis for many killer apps on freenet. Unfortunately they are slow. The main reason for this is the low number of threads used to request and insert by default. We cannot simply increase the defaults, because then multiple simultaneous downloads will overload the node. So we need to determine a reasonable maximum number of requests for fproxy to load the node with (my preferred total guesstimate is 20% of maxThreads), and dynamically allocate them according to usage to "normal" downloads (and uploads), and FEC downloads (and uploads). Any comment on any of this is welcome and solicited. -- Matthew Toseland toad at amphibian.dyndns.org amphibian at users.sourceforge.net Freenet/Coldstore open source hacker. Employed full time by Freenet Project Inc. from 11/9/02 to 11/1/03 http://freenetproject.org/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available URL: <https://emu.freenetproject.org/pipermail/devl/attachments/20021122/45725729/attachment.pgp>
