Oh, I forgot to mention - once all this autosplit stuff fully stabilises,
fcpputsplit will be deleted, since it will no longer been needed.
----- Original Message -----
From: David McNab
To: Freenet Chat ; Freenet Development
Sent: Friday, October 05, 2001 1:11 AM
Subject: [freenet-chat] FCPtools now with AutoSplit support
Hi all,
I've checked into CVS a new version of the fcptools (freenet CVS, in
Contrib/fcptools), which now supports auto-splitting of all inserted files.
Since auto-split is implemented completely in the ezFCPlib library layer, all
client software which uses fcpPutKeyFromFile() will inherit the autosplit
functionality with no changes needed (except a new parameter to fcpStartup()).
Summary of changes
1) fcpStartup() now launches a 'splitfile insert manager' thread, which
manages and dispatches all splitfile insertions. This manager thread maintains
a queue of all file insert jobs, and spawns further insert threads as needed.
2) All files are split if they exceed the default chunksize (256k). This can
not be overridden.
3) Default thread limit for chunk insertions is 8 for the whole process
4) New command line arguments recognised by fcpput and fcpputsite:
-ss size of splitfile chunks in bytes ('k','m','g' at end recognised,
eg '256K')
-st maximum number of splitfile threads, default 8
5) Modules fcpSetHost.c and fcpSetHtl.c removed, consolidated into
fcpSetParam.c
6) Splitting is *not* done with fcpPutKeyFromMem()
7) Splitting is *not* done from streamed key insert
(fcpOpenKey()/fcpWriteKey()/fcpCloseKey())
8) Splitting *is* done when key is inserted via fcpPutKeyFromFile()
9) The global variable 'int fcpSplitChunkSize', if set before calling
fcpStartup(), governs the splitfile chunk size (default 256k).
10) fcpStartup() parameters change:
int fcpStartup(char *host, int port, int defaultHtl, int raw, int
maxSplitThreads)
11) Obviously, fcpput and fcpputsite now insert splitfiles, automatically and
transparently. There is no way to override filesplitting for large files.
12) Lots of debug messages available if tools are run with '-v 4'.
Status - I've spent the last day and a half weeding out bugs and
stress-testing. The whole thing seems to be holding up well on Linux and
Windows, even with big jobs.
Bugs?
Probably infinite. If you find bugs, please find the simplest possible way to
consistently reproduce them, run the applicable tool at full verbosity ('-v
4'), capture the output to a file, and send the file to me, along with your OS
information etc. Feel free to 'censor' out any SSK private keys if necessary.
Cheers
David
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<https://emu.freenetproject.org/pipermail/devl/attachments/20011005/85a2b2ad/attachment.html>