public class DefaultManifestPutter extends BaseManifestPutter
The default manifest putter. It should be choosen if no alternative putter is given. Its also the replacment for SimpleManifestPutter, thats not longer simple!
default doc:
defaultName is just the name, without any '/'! pack limits:
pack rules:
each item
pack hints for clients:
If the files in the site root directory fits into a container, they are in
the root container (the first fetched container)
Save formula: (accumulated file size) + (512 Bytes * <subdircount>) < 1,8MB
BaseManifestPutter.ContainerBuilder, BaseManifestPutter.FreeFormBuilder, BaseManifestPutter.ManifestBuilder| Modifier and Type | Field and Description |
|---|---|
static long |
DEFAULT_CONTAINERSIZE_SPARE |
static long |
DEFAULT_MAX_CONTAINERITEMSIZE |
static long |
DEFAULT_MAX_CONTAINERSIZE |
minSuccessFetchBlocksblockSetFinalized, cancelled, client, creationTime, failedBlocks, fatallyFailedBlocks, latestFailure, latestSuccess, minSuccessBlocks, priorityClass, realTimeFlag, sentToNetwork, successfulBlocks, totalBlocks| Constructor and Description |
|---|
DefaultManifestPutter(ClientPutCallback clientCallback,
java.util.HashMap<java.lang.String,java.lang.Object> manifestElements,
short prioClass,
FreenetURI target,
java.lang.String defaultName,
InsertContext ctx,
boolean persistent,
byte[] forceCryptoKey,
ClientContext context) |
| Modifier and Type | Method and Description |
|---|---|
void |
innerOnResume(ClientContext context)
Called by onResume() once and only once after restarting.
|
protected void |
makePutHandlers(java.util.HashMap<java.lang.String,java.lang.Object> manifestElements,
java.lang.String defaultName)
Implements the pack logic.
|
addBlock, addBlocks, addMustSucceedBlocks, addRedundantBlocksInsert, blockSetFinalized, bucketsByNameToManifestEntries, cancel, countFiles, flatten, flatten, getCallback, getMinSuccessFetchBlocks, getRootBuilder, getRootContainer, getSplitfileCryptoKey, getURI, guessMime, guessMime, innerNotifyClients, innerToNetwork, isFinished, makeArchive, onFetchable, onShutdown, onTransition, onTransition, start, totalSizedumpcancel, clearCountersOnRestart, completedBlock, failedBlock, failedBlock, fatallyFailedBlock, getAll, getClient, getClientDetail, getClientDetail, getLatestFailure, getLatestSuccess, getPriorityClass, getSchedulerGroup, getTotalBlocks, hashCode, isCancelled, isCurrentState, notifyClients, onResume, persistent, realTimeFlag, resetBlocks, setPriorityClass, toNetworkpublic static final long DEFAULT_MAX_CONTAINERSIZE
public static final long DEFAULT_MAX_CONTAINERITEMSIZE
public static final long DEFAULT_CONTAINERSIZE_SPARE
public DefaultManifestPutter(ClientPutCallback clientCallback, java.util.HashMap<java.lang.String,java.lang.Object> manifestElements, short prioClass, FreenetURI target, java.lang.String defaultName, InsertContext ctx, boolean persistent, byte[] forceCryptoKey, ClientContext context) throws TooManyFilesInsertException
TooManyFilesInsertExceptionprotected void makePutHandlers(java.util.HashMap<java.lang.String,java.lang.Object> manifestElements,
java.lang.String defaultName)
throws TooManyFilesInsertException
makePutHandlers in class BaseManifestPuttermanifestElements - A map from String to either ManifestElement or another String. This is the
site structure, which will be split into containers and/or external inserts by the method.TooManyFilesInsertExceptionBaseManifestPutter.makePutHandlers(java.util.HashMap, String)public void innerOnResume(ClientContext context) throws ResumeFailedException
ClientRequesterinnerOnResume in class BaseManifestPutterResumeFailedException