# Package net.i2p.util

These classes define the several useful utilities used throughout the router and applications.

See: Description

Interface Summary
Interface | Description
--- | ---
Clock.ClockUpdateListener |
EepGet.StatusListener |
EventDispatcher | Event dispatching interface.
I2PProperties.I2PPropertyCallback |
I2PThread.OOMEventListener |
SimpleTimer.TimedEvent | Simple interface for events to be queued up and notified on expiration

Class Summary
Class | Description
--- | ---
Addresses | Get the local addresses
BufferedRandomSource | Deprecated Unused! See FortunaRandomSource
ByteCache | Cache the objects frequently used to reduce memory churn.
CachingByteArrayOutputStream | Deprecated unused
Clock | Alternate location for determining the time which takes into account an offset.
ConcurrentHashSet<E> | Implement on top of a ConcurrentHashMap with a dummy value.
ConvertToHash | Convert any kind of destination String to a hash Supported: Base64 dest Base64 dest.i2p Base64 Hash Base32 Hash Base32 desthash.b32.i2p example.i2p
Copy | Usage: Copy from to
DecayingBloomFilter | Series of bloom filters which decay over time, allowing their continual use for time sensitive data.
DecayingHashSet | Double buffered hash set.
Delete | Usage: Delete name
EepGet | EepGet [-p 127.0.0.1:4444] [-n #retries] [-o outputFile] [-m markSize lineLen] url Bug: a malformed url http://example.i2p (no trailing '/') fails cryptically
EepGetScheduler | Deprecated unused a webapp version would be nice though
EepHead | This is a quick hack to get a working EepHead, primarily for the following usage:
EepPost | Deprecated unused
EventDispatcherImpl | An implementation of the EventDispatcher interface.
Exec | Usage: Exec dir command [args ...]
Executor |
FileUtil | General helper methods for messing with files These are static methods that do NOT convert arguments to absolute paths for a particular context and directtory.
FortunaRandomSource | Wrapper around GNU-Crypto's Fortuna PRNG.
HexDump | Hexdump class (well, it's actually a namespace with some functions, but let's stick with java terminology :-).
HTTPSendData | Deprecated unused
I2PAppThread | Like I2PThread but with per-thread OOM listeners, rather than a static router-wide listener list, so that an OOM in an app won't call the router listener to shutdown the whole router.
I2PProperties | This class contains a number of properties ((key,value)-pairs).
I2PThread | In case its useful later...
InternalServerSocket | A simple in-JVM ServerSocket using Piped Streams.
InternalSocket | A simple in-JVM Socket using Piped Streams.
KeyRing | simple
Log | Wrapper class for whatever logging system I2P uses.
LogConsoleBuffer | Offer a glimpse into the last few console messages generated
LogLimit | Defines the log limit for a particular set of logs
LogManager | Manages the logging system, loading (and reloading) the configuration file, coordinating the log limits, and storing the set of log records pending.
LogRecord | Frisbee
LogRecordFormatter | Render a log record according to the log manager's settings
LogWriter | Log writer thread that pulls log records from the LogManager, writes them to the current logfile, and rotates the logs as necessary.
LookaheadInputStream | Simple lookahead buffer to keep the last K bytes in reserve, configured to easily be reused.
NativeBigInteger | BigInteger that takes advantage of the jbigi library for the modPow operation, which accounts for a massive segment of the processing cost of asymmetric crypto.
ObjectCounter<K> | Count things.
OrderedProperties | Properties map that has its keySet ordered consistently (via the key's lexicographical ordering).
PartialEepGet | Fetch exactly the first 'size' bytes into a stream Anything less or more will throw an IOException No retries, no min and max size options, no timeout option Useful for checking .sud versions
PooledRandomSource | Deprecated Unused! See FortunaRandomSource
RandomSource | Singleton for whatever PRNG i2p uses.
ResettableGZIPInputStream | GZIP implementation per RFC 1952, reusing java's standard CRC32 and Inflater and InflaterInputStream implementations.
ResettableGZIPOutputStream | GZIP implementation per RFC 1952, reusing java's standard CRC32 and Deflater implementations.
ReusableGZIPInputStream | Provide a cache of reusable GZIP streams, each handling up to 32KB without expansion.
ReusableGZIPOutputStream | Provide a cache of reusable GZIP streams, each handling up to 32KB without expansion.
SecureDirectory | Same as File but sets the file mode after mkdir() so it can be read and written by the owner only (i.e.
SecureFile | Same as SecureDirectory but sets the file mode after createNewFile() and createTempFile() also.
SecureFileOutputStream | Same as FileOutputStream but sets the file mode so it can only be read and written by the owner only (i.e.
ShellCommand | Passes a command to the OS shell for execution and manages the input and output.
SimpleByteCache | Like ByteCache but works directly with byte arrays, not ByteArrays.
SimpleScheduler | Simple event scheduler - toss an event on the queue and it gets fired at the appropriate time.
SimpleStore |
SimpleTimer | Simple event scheduler - toss an event on the queue and it gets fired at the appropriate time.
SimpleTimer2 | Simple event scheduler - toss an event on the queue and it gets fired at the appropriate time.
SimpleTimer2.TimedEvent | Similar to SimpleTimer.TimedEvent but users must extend instead of implement, and all schedule and cancel methods are through this class rather than SimpleTimer2.
SocketTimeout | This should be deprecated.
SSLEepGet | HTTPS only, non-proxied only, no retries, no min and max size options, no timeout option Fails on 301 or 302 (doesn't follow redirect) Fails on bad certs (must have a valid cert chain) Self-signed certs or CAs not in the JVM key store must be loaded to be trusted.
SSLEepGet.SSLState | An opaque class for the caller to pass to repeated instantiations of SSLEepGet.
Translate | Translate strings efficiently.
VersionComparator | Compares versions.

## Package net.i2p.util Description

These classes define the several useful utilities used throughout the router and applications.