Hello all.

I am writing an FCP client in Ruby that keeps track of Freenet keys of
already inserted files.  This way it can save time and only insert new
files or files that have changed.  The thing is, I would like to
insert file content separately from metadata.  i.e., insert the raw
bytes with one ClientPut, record the resulting key, and then insert a
small redirect to the content with the equivalent of TargetFilename
and Metadata.ContentType.  This way, if a large file gets renamed,
only the metadata needs to be reinserted, as it will point to the same
content key as before.

What I am running into is this:  when I do the insert all at once
('default mode'), I see (using KeyExplorer) that a small file is
inserted in 2 chunks: one for the content, and one SimpleManifest.
This is great, but I would like to be able to do it in 2 steps so I
can record the content key.

I have tried using ClientPut with TargetFilename and
Metadata.ContentType and a redirect to the content (for lack of a
concise and descriptive term I call this 'grover mode').

I have also tried using ClientPutComplexDir with Files.0.Name,
Files.0.Metadata.ContentType, and Files.0.UploadFrom = a redirect to
the content ('elmo mode').

Neither of these methods manages to do quite the same thing as the
all-at-once ClientPut, which seems to create a SimpleManifest that
includes a content type:  grover mode creates 3 separate keys (a
SimpleManifest, a SingleFileRedirect, and the content), and elmo mode
creates a SimpleManifest with no ContentType (as indicated by
http://wiki.freenetproject.org/FCP2p0ClientPutComplexDir, 'redirect'
form does not even look at Files.X.Metadata.ContentType).

Is there any way to do the same thing that all-at-once ClientPut does
in 2 steps?

For your KeyExploring pleasure, these are the keys I have created:

Content only: CHK at 
iWsZEjAbnRHtd3Bb667YmfYdvjjwRiTPeqLjOgbQ8bQ,7MUhazJcFaj-PSeFyqwLn3yFPUAHQSOgpzL8G2kZaNA,AAIA--8

Default: CHK at 
KpxYY6ozE~1TntkRajChhBGoOq~2f-Ja0HG9S3Bz98U,sRsN~02jy-svxJUDj-bbmkQeh6B8p-bR~xPa~WLxaKw,AAIC--8

Grover: 
CHK@~AYE2dkIxCn667XGJ~bLq2T4baRFD~U4z38hkqb0DGk,nGvXzX5XsA49a7Q8FD1kTEdKAyJMkq78yjQ2Wt5udYw,AAIC--8

Elmo:  CHK at 
vCI3knF8oz9KYMbs1CYYms9NUQghfFpWTNSCMK2CaDY,V4vln6lTPjGckCvdiFcCdgeObrRfz7SbG1KvDwrOVm8,AAIC--8

Thanks for any advice you can give,
- TOGoS

Reply via email to