See: Description
Interface | Description |
---|---|
ArchiveExtractCallback |
Called when we have extracted an archive, and a specified file either is
or isn't in it.
|
ArchiveHandler | |
HighLevelSimpleClient |
Class | Description |
---|---|
ArchiveContext | |
ArchiveKey | |
ArchiveManager |
Cache of recently decoded archives:
- Keep up to N ArchiveHandler's in RAM (this can be large; we don't keep the
files open due to the limitations of the java.util.zip API)
- Keep up to Y bytes (after padding and overheads) of decoded data on disk
(the OS is quite capable of determining what to keep in actual RAM)
Always take the lock on ArchiveStoreContext before the lock on ArchiveManager, NOT the other way around.
|
ClientMetadata |
Stores the metadata that the client might actually be interested in.
|
DefaultMIMETypes |
Holds the default MIME types.
|
FailureCodeTracker |
Essentially a map of integer to incrementible integer.
|
FECCodec |
Simple in-memory-only API for FEC encoding/decoding.
|
FetchContext |
Context for a Fetcher.
|
FetchResult |
Class to contain the result of a key fetch.
|
FetchWaiter |
Provides a blocking wrapper for a fetch.
|
HighLevelSimpleClientImpl | |
InsertBlock |
Class to contain everything needed for an insert.
|
InsertContext |
Context object for an insert operation, including both simple and multi-file inserts.
|
Metadata |
Metadata parser/writer class.
|
Metadata.SimpleManifestComposer |
Helper for composing manifests
It is a replacement for mkRedirectionManifestWithMetadata, used in BaseManifestPutter |
NullClientCallback | |
OnionFECCodec | |
PutWaiter |
Provides a blocking wrapper for an insert.
|
Enum | Description |
---|---|
ArchiveManager.ARCHIVE_TYPE | |
FetchException.FetchExceptionMode | |
InsertContext.CompatibilityMode |
Compatibility mode.
|
InsertException.InsertExceptionMode | |
Metadata.DocumentType | |
Metadata.SplitfileAlgorithm |
Exception | Description |
---|---|
ArchiveFailureException | |
ArchiveRestartException |
Thrown when we need to restart a fetch process because of a problem
with an archive.
|
FetchException |
Thrown when a high-level request (fetch) fails.
|
InsertException |
Thrown when a high-level insert fails.
|
MetadataParseException |
Thrown when Metadata parse fails.
|
MetadataUnresolvedException |
Client layer (support code: metadata, MIME types, container unpacking etc).
for most of the actual implementation.
Overview of the client layer
The client layer implements high-level requests, i.e. download a whole
file from a key, upload a whole file, etc. Metadata, FEC encoding and
decoding, classes to parse the metadata and decide how to fetch the file,
support for files bigger than a single key, support for fetching files
within zip/tar containers, etc. Uses the key implementations, the node
itself, and all the support code. Used by FCP, fproxy, clients, etc.
Requests can be either persistent or transient. For details on persistence,
see the comments at the top of @see freenet.client.async.ClientLayerPersister .