Add a handler to be called when a new counter becomes available.
Add a handler to be called when client is closed.
Add a handler to be called when a new counter becomes unavailable or goes away.
Asynchronously add a counter using the given client and return an object to use to determine when the
counter is available.
Gets the registration id for addition of the counter. Note that using this after a call to poll the succeeds or
errors is undefined behaviour. As the async_add_counter_t may have been freed.
Poll the completion of the aeron_async_add_counter
or aeron_async_add_static_counter
calls.
Gets the registration id for addition of the exclusive_publication. Note that using this after a call to poll the
succeeds or errors is undefined behaviour. As the async_add_exclusive_publication_t may have been freed.
Asynchronously add an exclusive publication using the given client and return an object to use to determine when the
publication is available.
Poll the completion of the aeron_async_add_exclusive_publication call.
Asynchronously add a publication using the given client and return an object to use to determine when the
publication is available.
Gets the registration id for addition of the publication. Note that using this after a call to poll the succeeds or
errors is undefined behaviour. As the async_add_publication_t may have been freed.
Poll the completion of the aeron_async_add_publication call.
Asynchronously allocates or returns an existing static counter instance using specified type_id
and
registration_id
. Such counter cannot be deleted and its lifecycle is decoupled from the client that created it.
Returns an object to use to determine when the counter is available.
Asynchronously add a subscription using the given client and return an object to use to determine when the
subscription is available.
Gets the registration id for addition of the subscription. Note that using this after a call to poll the succeeds or
errors is undefined behaviour. As the async_add_subscription_t may have been freed.
Poll the completion of the aeron_async_add_subscription call.
Gets the registration_id for the destination command supplied. Note that this is the correlation_id used for
the specified destination command, not the registration_id for the original parent resource (publication,
subscription).
Abort the given buffer_claim and assign its position as padding.
Commit the given buffer_claim as a complete message available for consumption.
Return the client id in use by the client.
Close and delete aeron_t struct.
Closes the instance of the aeron cnc and frees its resources.
Fetch the sets of constant values associated with this command and control file.
Gets a counters reader for this command and control file. This does not need to be closed manually, resources
are tied to the instance of aeron_cnc.
Reads the current error log for this driver.
Get the current file name of the cnc file.
Initialise an aeron_cnc, which gives user level access to the command and control file used to communicate
with the media driver. Will wait until the media driver has loaded and the cnc file is created, up to timeout_ms.
Use a value of 0 for a non-blocking initialisation.
Read all of the data loss observations from the report in the same media driver instances as the cnc file.
Gets the timestamp of the last heartbeat sent to the media driver from any client.
Return the aeron_context_t that is in use by the given client.
Close and delete aeron_context_t struct.
Create a aeron_context_t struct and initialize with default values.
Request the media driver terminates operation and closes all resources.
Whether to use an invoker to control the conductor agent or spawn a thread.
Create a controlled fragment assembler for use with a subscription.
Delete a controlled fragment assembler.
Handler function to be passed for handling fragment assembly.
Return a pointer to the counter value.
Asynchronously close the counter.
Fill in a structure with the constants in use by a counter.
Check if the counter is closed
@param counter to check
@return true if closed, false otherwise.
Return a reference to the counters reader of the given client.
Get the address for a counter.
Get the label for a counter.
Get the owner id assigned to a counter which will typically be the client id.
Get the reference id assigned to a counter which will typically be the registration id of an associated Image,
Subscription, Publication, etc.
Get the registration id assigned to a counter.
Get the state for a counter.
Get the type id for a counter.
Iterate over allocated counters and find the first matching a given type id and registration id.
Iterate over the counters in the counters_reader and call the given function for each counter.
Get the free for reuse deadline (ms) for a counter.
Get buffer pointers and lengths for the counters reader.
Get the current max counter id.
Get a pointer to the key of a counter’s metadata
Get the default path used by the Aeron media driver.
Return time in milliseconds since epoch. Is wall clock time.
Return current aeron error code (errno) for calling thread.
Return the current aeron error message for calling thread.
Append a padding record log of a given length to make up the log to a position.
Add a destination manually to a multi-destination-cast exclusive publication.
Poll the completion of the add/remove of a destination to/from an exclusive publication.
Remove a destination manually from a multi-destination-cast exclusive publication.
Remove a destination manually from a multi-destination-cast publication.
Get the status of the media channel for this publication.
Asynchronously close the publication.
Fill in a structure with the constants in use by a publication.
Has the exclusive publication closed?
Has the exclusive publication seen an active Subscriber recently?
Get all of the local socket addresses for this exclusive publication. Typically only one representing the control
address.
Non-blocking publish of a buffer containing a message.
Offer a block of pre-formatted message fragments directly into the current term.
Non-blocking publish by gathering buffer vectors into a message.
Get the current position to which the publication has advanced for this stream.
Get the position limit beyond which this publication will be back pressured.
Try to claim a range in the publication log into which a message can be written with zero copy semantics.
Once the message has been written then aeron_buffer_claim_commit should be called thus making it available.
A claim length cannot be greater than max payload length.
Create a fragment assembler for use with a subscription.
Delete a fragment assembler.
Handler function to be passed for handling fragment assembly.
Get a pointer to the context associated with this message. Only valid during poll handling. Is normally a
pointer to an Image instance.
Calculates the offset of the frame immediately after this one.
Get the current position to which the Image has advanced on reading this message.
Get the number of times to left shift the term count to multiply by term length.
Get all of the field values from the header. This will do a memcpy into the supplied header_values_t pointer.
Count of observed active transports within the image liveness timeout.
Poll for new messages in a stream. If new messages are found beyond the last consumed position then they
will be delivered to the handler up to a limited number of bytes.
Poll for new messages in a stream. If new messages are found beyond the last consumed position then they
will be delivered to the handler up to a limited number of fragments as specified or the maximum position specified.
Poll for new messages in a stream. If new messages are found beyond the last consumed position then they
will be delivered to the handler up to a limited number of fragments as specified or the maximum position specified.
Fill in a structure with the constants in use by a image.
Create an image controlled fragment assembler for use with a single image.
Delete an image controlled fragment assembler.
Handler function to be passed for handling fragment assembly.
Peek for new messages in a stream by scanning forward from an initial position. If new messages are found then
they will be delivered to the handler up to a limited position.
Poll for new messages in a stream. If new messages are found beyond the last consumed position then they
will be delivered to the handler up to a limited number of fragments as specified.
The position the stream reached when EOS was received from the publisher. The position will be
INT64_MAX until the stream ends and EOS is set.
Create an image fragment assembler for use with a single image.
Delete an image fragment assembler.
Handler function to be passed for handling fragment assembly.
Is the current consumed position at the end of the stream?
Poll for new messages in a stream. If new messages are found beyond the last consumed position then they
will be delivered to the handler up to a limited number of fragments as specified.
The position this image has been consumed to by the subscriber.
Force the driver to disconnect this image from the remote publication.
Set the subscriber position for this image to indicate where it has been consumed to.
Create a aeron_t client struct and initialize from the aeron_context_t struct.
Determines if the client has been closed, e.g. via a driver timeout. Don’t call this method after calling
aeron_close as that will have already freed the associated memory.
Determine if an aeron driver is using a given aeron directory.
Call the Conductor main do_work duty cycle once.
Call the Conductor Idle Strategy.
Return time in nanoseconds for machine. Is not wall clock time.
Return a unique correlation id from the driver.
Call stream_out to print the counter labels and values.
Load properties from a string containing name=value pairs and set appropriate environment variables for the
process so that subsequent calls to aeron_driver_context_init will use those values.
Load properties file and set appropriate environment variables for the process so that subsequent
calls to aeron_driver_context_init will use those values.
Load properties from HTTP URL and set environment variables for the process so that subsequent
calls to aeron_driver_context_init will use those values.
Load properties based on URL or filename. If string contains file or http URL, it will attempt
to load properties from a file or http as indicated. If not a URL, then it will try to load the string
as a filename.
Add a destination manually to a multi-destination-cast publication.
Poll the completion of the add/remove of a destination to/from a publication.
Remove a destination manually from a multi-destination-cast publication.
Remove a destination manually from a multi-destination-cast publication.
Get the publication’s channel
Get the status of the media channel for this publication.
Asynchronously close the publication. Will callback on the on_complete notification when the subscription is closed.
The callback is optional, use NULL for the on_complete callback if not required.
Fill in a structure with the constants in use by a publication.
Copy an existing aeron_publication_error_values_t to the supplied pointer. The caller is responsible for freeing the
allocated memory using aeron_publication_error_values_delete when the copy is not longer required.
Delete a instance of aeron_publication_error_values_t that was created when making a copy
(aeron_publication_error_values_copy). This should not be use on the pointer received via the aeron_frame_handler_t.
@param to_delete to be deleted.
Has the publication closed?
Has the publication seen an active Subscriber recently?
Get all of the local socket addresses for this publication. Typically only one representing the control address.
Non-blocking publish of a buffer containing a message.
Non-blocking publish by gathering buffer vectors into a message.
Get the current position to which the publication has advanced for this stream.
Get the position limit beyond which this publication will be back pressured.
Get the publication’s session id
@param publication this
@return session id
Get the publication’s stream id
Try to claim a range in the publication log into which a message can be written with zero copy semantics.
Once the message has been written then aeron_buffer_claim_commit should be called thus making it available.
A claim length cannot be greater than max payload length.
Remove a previously added handler to be called when a new counter becomes available.
Remove a previously added handler to be called when client is closed.
Remove a previously added handler to be called when a new counter becomes unavailable or goes away.
Start an aeron_t. This may spawn a thread for the Client Conductor.
Add a destination manually to a multi-destination-subscription.
Poll the completion of add/remove of a destination to/from a subscription.
Remove a destination manually from a multi-destination-subscription.
Poll the images under the subscription for available message fragments in blocks.
Get the status of the media channel for this subscription.
Asynchronously close the subscription. Will callback on the on_complete notification when the subscription is
closed. The callback is optional, use NULL for the on_complete callback if not required.
Fill in a structure with the constants in use by a subscription.
Poll in a controlled manner the images under the subscription for available message fragments.
Control is applied to fragments in the stream. If more fragments can be read on another stream
they will even if BREAK or ABORT is returned from the fragment handler.
Iterate over the images for this subscription calling the given function.
Return the image at the given index.
Return the image associated with the given session_id under the given subscription.
Count of images associated to this subscription.
Release the given image and relinquish desire to use the image directly.
Retain the given image for access in the application.
Is the subscription closed.
Is this subscription connected by having at least one open publication image.
Get all of the local socket addresses for this subscription. Multiple addresses can occur if this is a
multi-destination subscription. Addresses will a string representation in numeric form. IPv6 addresses will be
surrounded by ‘[’ and ‘]’ so that the ‘:’ that separate the parts are distinguishable from the port delimiter.
E.g. [fe80::7552:c06e:6bf4:4160]:12345. As of writing the maximum length for a formatted address is 54 bytes
including the NULL terminator. AERON_CLIENT_MAX_LOCAL_ADDRESS_STR_LEN is defined to provide enough space to fit the
returned string. Returned strings will be NULL terminated. If the buffer to hold the address can not hold enough
of the message it will be truncated and the last character will be null.
Poll the images under the subscription for available message fragments.
Retrieves the first local socket address for this subscription. If this is not MDS then it will be the one
representing endpoint for this subscription.
Retrieves the channel URI for this subscription with any wildcard ports filled in. If the channel is not UDP or
does not have a wildcard port (0
), then it will return the original URI.
Return full version and build string.
Return the git sha for the current build.
Return major version number.
Return minor version number.
Return patch version number.
Return version text.