All Classes and Interfaces
Class
Description
Left over immutable queue fields.
Common base class for implementing
MutableDirectBuffer interface.An Agent is scheduled to do work on a thread on a duty cycle.
Agent container which does not start a thread.Thrown to terminate the work/duty cycle of an
Agent.Utility functions for working with
ArrayLists.Utility class for operating on arrays as if they were collections.
Helper for dealing with ASCII encoding of numbers.
Thrown when parsing an ASCII string and finding characters that are not digits.
View over a
DirectBuffer which contains an ASCII string for a given range.Abstraction over a range of buffer types that allows type to be accessed with various memory ordering semantics.
Atomic counter that is backed by an
AtomicBuffer that can be read across threads and processes.Position that is backed by an AtomicLong which is useful for tests.Idling strategy for threads when they have no work to do.
Variation of
BiInt2ObjectMap that allows null values.Map that takes two part int key and associates with an object.
Handler for a map entry.
Creates a new value based upon keys.
Creates a new value based upon keys.
Miscellaneous useful functions for dealing with low level bits and bytes.
Layout of the broadcast buffer.
Receive messages broadcast from a
BroadcastTransmitter via an underlying buffer.Transmit messages via an underlying broadcast buffer to zero or more
BroadcastReceivers.Common functions for buffer implementations.
Busy spin strategy targeted at lowest possible latency.
An
EpochClock that caches a timestamp which can be updated with CachedEpochClock.update(long).A
NanoClock that caches a timestamp which can be updated with CachedNanoClock.update(long).An implementation of a
SimpleJavaFileObject which stores the content in a CharSequence.An interface representing API to compute a data checksum.
ForwardingJavaFileManager for storing class files which can be looked up by name.Utility functions to help with using
AutoCloseable resources.Utility functions for collection objects.
Utilities for compiling Java source files at runtime.
Group several
Agents into one composite, so they can be scheduled as a unit.A flyweight for decoding an SBE Composite type.
A flyweight for encoding an SBE Composite type.
A thread safe extension of
CountersManager which allows intra-process read and write access to the same
counters buffer.Barrier to block the calling thread until a command is given on the command line.
IdleStrategy which can be controlled by a counter so its mode of operation can be switched between
doing nothing (NOOP), busy spinning by calling Thread.onSpinWait(), yielding by calling
Thread.yield(), or sleeping for the minimum period by calling LockSupport.parkNanos(long) when
work count is zero, so it idles.Callback interface for processing of messages that are read from a buffer.
Action to be taken on return from
ControlledMessageHandler.onMessage(int, MutableDirectBuffer, int, int).Receiver that copies messages which have been broadcast to enable a simpler API for the client.
An
ErrorHandler which calls AtomicCounter.increment() before delegating the exception.Manages the allocation and freeing of counters that are normally stored in a memory-mapped file.
Reads the counters metadata and values buffers.
Callback function for consuming basic counter details and value.
Callback function for consuming metadata records of counters.
Implementation of the
Checksum interface that computes CRC-32 checksum.Implementation of the
Checksum interface that computes CRC-32C checksum.Timer Wheel for timers scheduled to expire on a deadline, (NOT thread safe).
Consumer of timer entries as deadline to timerId.
Handler for processing expired timers.
A flyweight for decoding an SBE type.
ErrorHandler that can insert into a chain of responsibility, so it handles an error and then delegates
on to the next in the chain.Abstraction over a range of buffer types that allows fields to be read in native typed fashion.
A data input implementation that reads from a DirectBuffer.
An
InputStream that wraps a DirectBuffer.OutputStream that wraps an underlying MutableDirectBuffer.Distinct record of error observations.
A marker annotation to tell the primitive expander not to substitute the line in question.
Group several
Agents into one composite, so they can be scheduled as a unit.Enum to indicate the current status of a DynamicCompositeAgent.Extended version of the
OutputManager allowing the specification of packages for selected outputs.A flyweight for encoding an SBE type.
Retrieves the number of milliseconds since 1 Jan 1970 UTC.
Clock representing the time in microseconds since 1 Jan 1970 UTC.
Clock representing the time in nanoseconds since 1 Jan 1970 UTC.
Callback handler for consuming errors encountered in a
DistinctErrorLog.Callback interface for handling an error/exception that has occurred when processing an operation or event.
Reader for the log created by a
DistinctErrorLog encoded as UTF-8 errors.Expandable
MutableDirectBuffer that is backed by an array.OutputStream that wraps an underlying expandable version of a MutableDirectBuffer.Expandable
MutableDirectBuffer that is backed by a direct ByteBuffer.Ring-buffer for storing messages which can expand to accommodate the messages written into it.
Consumers of messages implement this interface and pass it to
ExpandableRingBuffer.consume(MessageConsumer, int).An SBE (Simple Binary Encoding) flyweight object.
Hashing functions for applying to integers.
Clock that provides the number of time units since the 1 Jan 1970 UTC.
Control the use of high-resolution timers on Windows by a bit of hackery.
Generates unique identifiers that fit in a 64-bit word.
Idle strategy for use by threads when they do not have work to do.
An open-addressing with linear probing hash map specialised for primitive key and counter pairs.
An open-addressing with linear probing hash map specialised for primitive key and value pairs.
Variation of
Int2ObjectHashMap that allows null values.A cache implementation specialised for int keys using open addressing to probe a set of fixed size.
Map implementation specialised for int keys using open addressing and
linear probing for cache efficient access.A
List implementation that stores int values with the ability to not have them boxed.Queue of ints which stores the elements without boxing.
Open-addressing with linear-probing expandable hash set.
Primitive specialisation of a BiConsumer for a pair of ints.
Primitive specialisation of a BiFunction for a pair of ints.
Primitive specialisation of a BiPredicate for a pair of ints.
A fixed capacity cache of int keyed values that evicts the least-recently-used element when it runs out of space.
This is an (int, Object) primitive specialisation of a BiConsumer.
This is an (int, Object) -> Object primitive specialisation of a BiFunction.
This is an (int, Object) primitive specialisation of a BiPredicate.
Collection of IO utilities for dealing with files, especially mapping and un-mapping.
A
SimpleJavaFileObject that is used to store the bytes for a java class in memory.Grouping of language level utilities to make programming in Java more convenient.
A logging
ErrorHandler that records to a DistinctErrorLog and if the log is full then overflows
to a PrintStream.An open-addressing with linear probing hash map specialised for primitive key and counter pairs.
An open-addressing with linear probing hash map specialised for primitive key and value pairs.
Variation of
Long2ObjectHashMap that allows null values.A cache implementation specialised for long keys using open addressing to probe a set of fixed size.
Map implementation specialised for long keys using open addressing and
linear probing for cache efficient access.A
List implementation that stores long values with the ability to not have them boxed.Queue of longs which stores the elements without boxing.
Open-addressing with linear-probing expandable hash set.
Primitive specialisation of a BiConsumer for a pair of longs.
Primitive specialisation of a BiFunction for a pair of longs.
Primitive specialisation of a BiPredicate for a pair of longs.
A fixed capacity cache of long keyed values that evicts the least-recently-used element when it runs out of space.
This is an (long, Object) primitive specialisation of a BiConsumer.
This is an (long, Object) -> Object primitive specialisation of a BiFunction.
This is an (long, Object) primitive specialisation of a BiPredicate.
Implementations of this interface can a resource that need to have external state tracked for deletion.
Many producer to many consumer concurrent queue that is array backed.
Many producer to one consumer concurrent queue that is array backed.
Concurrent linked
Queue that can be used from many producers and a single consumer.A ring-buffer that supports the exchange of messages from many producers to a single consumer.
A
MarkFile is used to mark the presence of a running component and to track liveness.A flyweight for decoding an SBE message from a buffer.
A flyweight for encoding SBE messages.
Common behaviour to SBE Message encoder and decoder flyweights.
Callback interface for processing of messages that are read from a buffer.
Mutable boolean valid that is useful for capturing a value when using lambdas or collections.
Abstraction over a range of buffer types that allows fields to be written in native typed fashion.
Holder for an int value that is mutable.
Holder for a long value that is mutable.
Mutable reference that is useful for capturing an object reference when using lambdas.
Functional interface for return the current time as system-wide monotonic tick of 1 nanosecond precision.
Low-latency idle strategy to be employed in loops that do significant work on each iteration such that any
work in the idle strategy would be wasteful.
A
Lock implementation that is a no operation, i.e.Sentinel value used in collections supporting null value references.
An open-addressing with linear probing hash map specialised for object and primitive counter pairs.
Map implementation specialised for int values using open addressing and
linear probing for cache efficient access.An open-addressing with linear probing hash map specialised for object and primitive counter pairs.
Map implementation specialised for long values using open addressing and
linear probing for cache efficient access.Variation of
Object2ObjectHashMap that allows null values.An open-addressing with linear probing hash map, same algorithm as
Int2IntHashMap.Open-addressing with linear-probing expandable hash set.
This is an (Object, int) -> int primitive specialisation of a BiFunction.
This is an (Object, long) -> long primitive specialisation of a BiFunction.
This is an (Object, i) primitive specialisation of a BiConsumer.
This is an (Object, int) primitive specialisation of a BiPredicate.
This is an (Object, i) primitive specialisation of a BiConsumer.
This is an (Object, long) primitive specialisation of a BiPredicate.
An accurate, zero-gc, pure-java,
EpochNanoClock that calculates an initial epoch nano time based on
System.currentTimeMillis() and then uses that offset to adjust the return value of
System.nanoTime() to the UNIX epoch.One producer to one consumer concurrent queue that is array backed.
A ring-buffer that supports the exchange of messages from a single producer to a single consumer.
Abstraction that manages the destination of generated output.
OutputManager for managing the creation of Java source files as the target of code generation.A container for items exchanged from producers to consumers.
Reports on how far through a buffer some component has progressed.
Useful utils to hex dump the Agrona's buffers.
Action to be taken for each property loaded into system properties.
Indicates how far through an abstract task a component has progressed as a counter value.
Description of the structure for a record in the broadcast buffer.
Description of the record structure for message framing in the a
RingBuffer.References provides two key helper methods for commonly used idioms on ref types:
References.isCleared(Reference), and References.isReferringTo(Reference, Object).Consumer of a resource which can throw
IOExceptions.Ring-buffer for the concurrent exchanging of binary encoded messages from producer(s) to consumer(s)
in a FIFO manner.
Layout description for the underlying buffer used by a
RingBuffer.Store and extract a semantic version in a 4 byte integer.
One time witness for blocking one or more threads until:
Thread blocked in
ShutdownSignalBarrier.await() is interrupted.
JVM shutdown sequence begins (see Runtime.addShutdownHook(Thread)).
ShutdownSignalBarrier.signal() or ShutdownSignalBarrier.signalAll() is invoked programmatically.
Useful for shutting down a service.Interface for notification when is signaled.
When idle this strategy is to sleep for a specified period in nanoseconds.
When idle this strategy is to sleep for a specified period time in milliseconds.
Generate unique identifiers based on the Twitter
Snowflake algorithm.
Specialise classes written for primitive type int for other primitive types by substitution.
Substitution to be performed on each code line.
Extends a
StatusIndicatorReader with the ability to set the value so other readers can take action.Reads the value of a counter to indicate current status and what abstraction should be taken.
Utility functions for using Strings.
An
OutputManager which can store source files as StringWriter buy source file name.Implementation that calls
System.currentTimeMillis().Implementation that calls
HighResolutionClock.epochMicros().Implementation that calls
HighResolutionClock.epochNanos().A
NanoClock the delegates to System.nanoTime().Utilities for inspecting the system.
Deprecated.
Implements the common functionality for a transport poller.
An unmodifiable view of a collection that maps each element in an underlying collection into a view.
Supports regular, byte ordered, and atomic (memory ordered) access to an underlying buffer.
Reports a position by recording it in an
UnsafeBuffer.StatusIndicator which wraps an AtomicBuffer with a given counter id.Various verification checks to be applied in code.
IdleStrategy that will call Thread.yield() when the work count is zero.