ClientPut URI=CHK@ Metadata.ContentType=text/html Identifier=My Test Insert Verbosity=0 MaxRetries=10 PriorityClass=1 GetCHKOnly=false Global=true DontCompress=true ClientToken=Hello!!! UploadFrom=disk Filename=/home/toad/something.html TargetFilename=me.html EndMessage
| Field | Possible values | Mandatory? | Default | Description |
|---|---|---|---|---|
| URI |
CHK@ KSK@name SSK@privateKey/docname-1 USK@privateKey/docname/0/ |
Yes | The type of key to insert. When inserting an SSK key, you explicitly specifiy the version number. For a USK key, use a zero and it should automatically use the correct version number. | |
| Metadata.ContentType | Any MIME type | No | application/octet-stream | The MIME type of the data being inserted. For text, if charset is not specified, node should auto-detect it and force the auto-detected version |
| Identifier | Arbitrary text string | Yes | This is just for client to be able to identify files that have been inserted. | |
| Verbosity | Bitmask. At present only bits 1 and 512 are supported. | No | 0 | 0: report when complete, 1: SimpleProgress messages, 512: send StartedCompression and FinishedCompression messages |
| MaxRetries | Integer -1 to 999999+? | No | ? | Number of times to retry if the first time doesn't work. -1 means retry forever. |
| PriorityClass | Number 0 (maximum priority) to 6 (minimum priority) | No | 2 (Semi-interactive priority class) | How to prioritise the insert. |
| GetCHKOnly | false, true | No | false | If set to true, it won't actually insert the data, just return the key it would generate. If the key is USK, you may want to transform it into a SSK, to prevent the node spending time searching for an unused index. |
| Global | true, false | No | false | Whether the insert is visible on the global queue or not. |
| DontCompress | true, false | No | Hint to node: don't try to compress the data, it's already compressed | |
| ClientToken | Arbitrary string | No | Sent back to client on the PersistentPut if this is a persistent request | |
| Persistence | connection, reboot, forever | No | connection | Whether the insert stays on the queue across new client connections, freenet restarts, or forever |
| TargetFilename | A filename (no slashes) | No | Extracted from URI or Filename | Filename to be appended to a CHK insert. Technically it creates a one-file manifest with this filename pointing to the file being uploaded. Ignored for all types other than CHK, since other types have human-readable filenames anyway. Empty means no filename. |
| EarlyEncode | True or false | No | False | Whether to aggressively encode the file's data in order to produce a key earlier (way before it would be fetchable; not generally recommended but useful for testing). |
| UploadFrom | direct, disk, redirect | No | direct | Whether the FCP message includes the actual data, just the disk filename and path, or a redirection to an existing freenet key |
| Only valid if UploadFrom is direct: | ||||
| DataLength | Integer from 0 to ? | Yes | The length of the data file being included in this FCP message | |
| Data | No value | Yes | Marks the start of the data. The actual data follows immediately after this line. | |
| Only valid if UploadFrom is disk: | ||||
| Filename | The full path of a file | Yes | The full name and path of the file you wish to insert to Freenet | |
| Only valid if UploadFrom is redirect: | ||||
| TargetURI | A freenet URI | Yes | This is an existing freenet URI such as KSK@gpl.txt. The idea is that you insert a new key that redirects to this one. | |
| Only valid if UploadFrom is redirect or disk: | ||||
| EndMessage | Indicates the end of the message. Note that this is not required when UploadFrom=direct, since the message end is determined by the DataLength field. | |||