Package net.i2p.util
These classes define the several useful utilities used throughout the router and applications.
-
Interface Summary Interface Description BandwidthEstimator A Westwood bandwidth estimatorClock.ClockUpdateListener EepGet.StatusListener Callback interfaceEventDispatcher Event dispatching interface.I2PProperties.I2PPropertyCallback I2PThread.OOMEventListener SimpleTimer.TimedEvent Simple interface for events to be queued up and notified on expirationTryCache.ObjectFactory<T> Something that creates objects of the type cached by this cache -
Class Summary Class Description Addresses Methods to get the local addresses, and other IP utilitiesByteArrayStream OutputStream to InputStream adapter.ByteCache Cache the objects frequently used to reduce memory churn.Clock Alternate location for determining the time which takes into account an offset.CommandLine Simple command line access to various utilities.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 Base64 Hash.i2p Base32 Hash Base32 desthash.b32.i2p example.i2pDNSOverHTTPS Simple implemetation of DNS over HTTPS.EepGet EepGet [-p 127.0.0.1:4444] [-n #retries] [-o outputFile] [-m markSize lineLen] urlEepHead This is a quick hack to get a working EepHead, primarily for the following usage:EventDispatcherImpl An implementation of the EventDispatcher interface.Executor Deprecated - used only by SimpleTimerFileLogWriter File-based log writer thread that pulls log records from the LogManager, writes them to the current logfile, and rotates the logs as necessary.FileSuffixFilter A FileFilter that accepts regular files with a suffix and optionally a prefix, case-insensitive.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 directory.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 :-).I2PAppThread LikeI2PThread
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).I2PSSLSocketFactory Loads trusted ASCII certs from ~/.i2p/certificates/ and $I2P/certificates/.I2PThread Preferred overThread
for all router uses.InternalServerSocket A simple in-JVM ServerSocket using Piped Streams.InternalSocket A simple in-JVM Socket using Piped Streams.KeyRing simpleLHMCache<K,V> A LinkedHashMap with a maximum size, for use as an LRU cache.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 logsLogManager Manages the logging system, loading (and reloading) the configuration file, coordinating the log limits, and storing the set of log records pending.LogRecord Keep track of a log entry, unformatted.LogRecordFormatter Render a log record according to the log manager's settingsLogWriter Log writer thread that pulls log records from the LogManager and writes them to the log.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 If the server does not return a Content-Length header of the correct size, the fetch will fail.PasswordManager Manage both plaintext and salted/hashed password storage in router.config.PortMapper Map services to internal or external application ports for this context.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 unzipper streams.ReusableGZIPOutputStream Provide a cache of reusable GZIP streams, each handling up to 40 KB output without expansion.RFC822Date Moved from NewsFetcherSecureDirectory 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 Deprecated. in 0.9.20, use SimpleTimer2 insteadSimpleStore Deprecated - used only by SimpleTimerSimpleTimer 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.SipHash Wrapper around SipHashInline with constant per-JVM keysSocketTimeout Implements one or two timers; one for inactivity, that is reset by resetTimer(), and optionally, a total time since instantiation, that is configured by setTotalTimeoutPeriod().SSLEepGet HTTPS only, no retries, no min and max size options, no timeout option As of 0.9.45, supports redirect to https (redirect to http will still fail).SSLEepGet.SSLState An opaque class for the caller to pass to repeated instantiations of SSLEepGet.SystemVersion Methods to find out what system we are running onTimeoutPipedInputStream Adds setReadTimeout().TimeoutPipedOutputStream Helper for TimeoutPipedInputStream.Translate Translate strings efficiently.TranslateReader Translate.TryCache<T> An object cache which is safe to use by multiple threads without blocking.UIMessages A queue of messages, where each has an ID number.UIMessages.Message VersionComparator Compares versions.ZipFileComment Deprecated. scheduled for removal late 2017, not for external use -
Enum Summary Enum Description DNSOverHTTPS.Type EepGet.AUTH_MODE SSLEepGet.ProxyType Not all may be supported.