These classes define the several useful utilities used throughout the router.
Not for use by apps, clients or plugins. Subject to change. Not necessarily maintained as a stable API.
Interface Summary Interface Description CDPQEntryFor CoDelPriorityQueue CDQEntryFor CoDelQueue PQEntryFor PriBlockingQueue
Class Summary Class Description ArraySet<E>A small, fast Set with a maximum size, backed by a fixed-size array. CachedIteratorArrayList<E>ArrayList that uses a single iterator. CachedIteratorCollection<E>Extend java.util.AbstractCollection to create a collection that can be iterated over without creation of a new object CoDelBlockingQueue<E extends CDQEntry>CoDel implementation of Active Queue Management. CoDelPriorityBlockingQueue<E extends CDPQEntry>CoDel implementation of Active Queue Management. DecayingBloomFilterSeries of bloom filters which decay over time, allowing their continual use for time sensitive data. DecayingHashSetDouble buffered hash set. EventLogSimple event logger for occasional events, with caching for reads. HashDistanceMoved from PeerSelector MaskedIPSetUsed for detection of routers with matching IPs or family. PriBlockingQueue<E extends PQEntry>Priority Blocking Queue using methods in the entries, as defined in PQEntry, to store priority and sequence number, ensuring FIFO order within a priority. RandomIterator<E>This is some Java code I wrote for a school project to save some time when iterating in random order over a part of list (until some condition becomes true): Here is a sample on how to use the code: RemovableSingletonSet<E>Like Collections.singleton() but item is removable, clear() is supported, and the iterator supports remove(). RouterPasswordManagerManage both plaintext and salted/hashed password storage in router.config.
Exception Summary Exception Description ArraySet.SetFullException