aeron/1.41.4

Efficient reliable UDP unicast, UDP multicast, and IPC message transport
Recipe info
2023-10-22

Available packages
Linux
Windows
macOS
macOS Apple Silicon

Install
Add the following line to your conanfile.txt:
[requires]
aeron/1.41.4

Using aeron

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
aeron/1.41.4
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("aeron/1.41.4")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): aeron
  • CMake target name(s): aeron::aeron
  • pkg-config file name(s): aeron.pc

A simple use case using the CMake file name and the global target:

# ...
find_package(aeron REQUIRED)
# ...
target_link_libraries(YOUR_TARGET aeron::aeron)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the aeron homepage listed above:

#include "Aeron.h"
#include "BufferBuilder.h"
#include "ChannelUri.h"
#include "ChannelUriStringBuilder.h"
#include "ClientConductor.h"
#include "CncFileDescriptor.h"
#include "CncFileReader.h"
#include "Context.h"
#include "ControlledFragmentAssembler.h"
#include "Counter.h"
#include "DriverListenerAdapter.h"
#include "DriverProxy.h"
#include "ExclusivePublication.h"
#include "FragmentAssembler.h"
#include "HeartbeatTimestamp.h"
#include "Image.h"
#include "ImageControlledFragmentAssembler.h"
#include "ImageFragmentAssembler.h"
#include "LogBuffers.h"
#include "Publication.h"
#include "Subscription.h"
#include "aeron-archive/AeronArchive.h"
#include "aeron-archive/ArchiveConfiguration.h"
#include "aeron-archive/ArchiveException.h"
#include "aeron-archive/ArchiveProxy.h"
#include "aeron-archive/ControlResponseAdapter.h"
#include "aeron-archive/ControlResponsePoller.h"
#include "aeron-archive/RecordingDescriptorPoller.h"
#include "aeron-archive/RecordingEventsAdapter.h"
#include "aeron-archive/RecordingEventsPoller.h"
#include "aeron-archive/RecordingPos.h"
#include "aeron-archive/RecordingSignalAdapter.h"
#include "aeron-archive/RecordingSubscriptionDescriptorPoller.h"
#include "aeron-archive/ReplayMerge.h"
#include "aeron/aeron_agent.h"
#include "aeron/aeron_alloc.h"
#include "aeron/aeron_client.h"
#include "aeron/aeron_client_conductor.h"
#include "aeron/aeron_cnc_file_descriptor.h"
#include "aeron/aeron_common.h"
#include "aeron/aeron_context.h"
#include "aeron/aeron_counter.h"
#include "aeron/aeron_counters.h"
#include "aeron/aeron_exclusive_publication.h"
#include "aeron/aeron_fragment_assembler.h"
#include "aeron/aeron_image.h"
#include "aeron/aeron_log_buffer.h"
#include "aeron/aeron_publication.h"
#include "aeron/aeron_socket.h"
#include "aeron/aeron_subscription.h"
#include "aeron/aeron_windows.h"
#include "aeron/aeronc.h"
#include "aeron/collections/aeron_array_to_ptr_hash_map.h"
#include "aeron/collections/aeron_bit_set.h"
#include "aeron/collections/aeron_hashing.h"
#include "aeron/collections/aeron_int64_counter_map.h"
#include "aeron/collections/aeron_int64_to_ptr_hash_map.h"
#include "aeron/collections/aeron_int64_to_tagged_ptr_hash_map.h"
#include "aeron/collections/aeron_map.h"
#include "aeron/collections/aeron_str_to_ptr_hash_map.h"
#include "aeron/command/aeron_control_protocol.h"
#include "aeron/concurrent/aeron_atomic.h"
#include "aeron/concurrent/aeron_atomic64_c11.h"
#include "aeron/concurrent/aeron_atomic64_gcc_x86_64.h"
#include "aeron/concurrent/aeron_atomic64_msvc.h"
#include "aeron/concurrent/aeron_broadcast_descriptor.h"
#include "aeron/concurrent/aeron_broadcast_receiver.h"
#include "aeron/concurrent/aeron_broadcast_transmitter.h"
#include "aeron/concurrent/aeron_concurrent_array_queue.h"
#include "aeron/concurrent/aeron_counters_manager.h"
#include "aeron/concurrent/aeron_distinct_error_log.h"
#include "aeron/concurrent/aeron_logbuffer_descriptor.h"
#include "aeron/concurrent/aeron_mpsc_concurrent_array_queue.h"
#include "aeron/concurrent/aeron_mpsc_rb.h"
#include "aeron/concurrent/aeron_rb.h"
#include "aeron/concurrent/aeron_spsc_concurrent_array_queue.h"
#include "aeron/concurrent/aeron_spsc_rb.h"
#include "aeron/concurrent/aeron_term_gap_filler.h"
#include "aeron/concurrent/aeron_term_gap_scanner.h"
#include "aeron/concurrent/aeron_term_rebuilder.h"
#include "aeron/concurrent/aeron_term_scanner.h"
#include "aeron/concurrent/aeron_term_unblocker.h"
#include "aeron/concurrent/aeron_thread.h"
#include "aeron/protocol/aeron_udp_protocol.h"
#include "aeron/reports/aeron_loss_reporter.h"
#include "aeron/status/aeron_local_sockaddr.h"
#include "aeron/uri/aeron_uri.h"
#include "aeron/util/aeron_arrayutil.h"
#include "aeron/util/aeron_bitutil.h"
#include "aeron/util/aeron_clock.h"
#include "aeron/util/aeron_deque.h"
#include "aeron/util/aeron_dlopen.h"
#include "aeron/util/aeron_env.h"
#include "aeron/util/aeron_error.h"
#include "aeron/util/aeron_fileutil.h"
#include "aeron/util/aeron_http_util.h"
#include "aeron/util/aeron_math.h"
#include "aeron/util/aeron_netutil.h"
#include "aeron/util/aeron_parse_util.h"
#include "aeron/util/aeron_platform.h"
#include "aeron/util/aeron_properties_util.h"
#include "aeron/util/aeron_strutil.h"
#include "aeron/util/aeron_symbol_table.h"
#include "aeronmd/aeron_congestion_control.h"
#include "aeronmd/aeron_csv_table_name_resolver.h"
#include "aeronmd/aeron_data_packet_dispatcher.h"
#include "aeronmd/aeron_driver.h"
#include "aeronmd/aeron_driver_common.h"
#include "aeronmd/aeron_driver_conductor.h"
#include "aeronmd/aeron_driver_conductor_proxy.h"
#include "aeronmd/aeron_driver_context.h"
#include "aeronmd/aeron_driver_name_resolver.h"
#include "aeronmd/aeron_driver_receiver.h"
#include "aeronmd/aeron_driver_receiver_proxy.h"
#include "aeronmd/aeron_driver_sender.h"
#include "aeronmd/aeron_driver_sender_proxy.h"
#include "aeronmd/aeron_duty_cycle_tracker.h"
#include "aeronmd/aeron_flow_control.h"
#include "aeronmd/aeron_ipc_publication.h"
#include "aeronmd/aeron_loss_detector.h"
#include "aeronmd/aeron_name_resolver.h"
#include "aeronmd/aeron_name_resolver_cache.h"
#include "aeronmd/aeron_network_publication.h"
#include "aeronmd/aeron_position.h"
#include "aeronmd/aeron_publication_image.h"
#include "aeronmd/aeron_retransmit_handler.h"
#include "aeronmd/aeron_system_counters.h"
#include "aeronmd/aeron_termination_validator.h"
#include "aeronmd/aeronmd.h"
#include "aeronmd/agent/aeron_driver_agent.h"
#include "aeronmd/concurrent/aeron_logbuffer_unblocker.h"
#include "aeronmd/media/aeron_receive_channel_endpoint.h"
#include "aeronmd/media/aeron_receive_destination.h"
#include "aeronmd/media/aeron_send_channel_endpoint.h"
#include "aeronmd/media/aeron_timestamps.h"
#include "aeronmd/media/aeron_udp_channel.h"
#include "aeronmd/media/aeron_udp_channel_transport.h"
#include "aeronmd/media/aeron_udp_channel_transport_bindings.h"
#include "aeronmd/media/aeron_udp_channel_transport_loss.h"
#include "aeronmd/media/aeron_udp_destination_tracker.h"
#include "aeronmd/media/aeron_udp_transport_poller.h"
#include "aeronmd/uri/aeron_driver_uri.h"
#include "client/AeronArchive.h"
#include "client/ArchiveConfiguration.h"
#include "client/ArchiveException.h"
#include "client/ArchiveProxy.h"
#include "client/ControlResponseAdapter.h"
#include "client/ControlResponsePoller.h"
#include "client/RecordingDescriptorPoller.h"
#include "client/RecordingEventsAdapter.h"
#include "client/RecordingEventsPoller.h"
#include "client/RecordingPos.h"
#include "client/RecordingSignalAdapter.h"
#include "client/RecordingSubscriptionDescriptorPoller.h"
#include "client/ReplayMerge.h"
#include "command/ClientTimeoutFlyweight.h"
#include "command/ControlProtocolEvents.h"
#include "command/CorrelatedMessageFlyweight.h"
#include "command/CounterMessageFlyweight.h"
#include "command/CounterUpdateFlyweight.h"
#include "command/DestinationMessageFlyweight.h"
#include "command/ErrorResponseFlyweight.h"
#include "command/Flyweight.h"
#include "command/ImageBuffersReadyFlyweight.h"
#include "command/ImageMessageFlyweight.h"
#include "command/OperationSucceededFlyweight.h"
#include "command/PublicationBuffersReadyFlyweight.h"
#include "command/PublicationMessageFlyweight.h"
#include "command/RemoveMessageFlyweight.h"
#include "command/SubscriptionMessageFlyweight.h"
#include "command/SubscriptionReadyFlyweight.h"
#include "command/TerminateDriverFlyweight.h"
#include "concurrent/AgentInvoker.h"
#include "concurrent/AgentRunner.h"
#include "concurrent/Atomic64.h"
#include "concurrent/AtomicArrayUpdater.h"
#include "concurrent/AtomicBuffer.h"
#include "concurrent/AtomicCounter.h"
#include "concurrent/BackOffIdleStrategy.h"
#include "concurrent/BusySpinIdleStrategy.h"
#include "concurrent/CountersManager.h"
#include "concurrent/CountersReader.h"
#include "concurrent/NoOpIdleStrategy.h"
#include "concurrent/SleepingIdleStrategy.h"
#include "concurrent/YieldingIdleStrategy.h"
#include "concurrent/atomic/Atomic64_gcc_cpp11.h"
#include "concurrent/atomic/Atomic64_gcc_x86_64.h"
#include "concurrent/atomic/Atomic64_msvc.h"
#include "concurrent/broadcast/BroadcastBufferDescriptor.h"
#include "concurrent/broadcast/BroadcastReceiver.h"
#include "concurrent/broadcast/BroadcastTransmitter.h"
#include "concurrent/broadcast/CopyBroadcastReceiver.h"
#include "concurrent/broadcast/RecordDescriptor.h"
#include "concurrent/errors/DistinctErrorLog.h"
#include "concurrent/errors/ErrorLogDescriptor.h"
#include "concurrent/errors/ErrorLogReader.h"
#include "concurrent/logbuffer/BufferClaim.h"
#include "concurrent/logbuffer/DataFrameHeader.h"
#include "concurrent/logbuffer/FrameDescriptor.h"
#include "concurrent/logbuffer/Header.h"
#include "concurrent/logbuffer/HeaderWriter.h"
#include "concurrent/logbuffer/LogBufferDescriptor.h"
#include "concurrent/logbuffer/TermBlockScanner.h"
#include "concurrent/logbuffer/TermGapScanner.h"
#include "concurrent/logbuffer/TermReader.h"
#include "concurrent/logbuffer/TermRebuilder.h"
#include "concurrent/logbuffer/TermScanner.h"
#include "concurrent/reports/LossReportDescriptor.h"
#include "concurrent/reports/LossReportReader.h"
#include "concurrent/ringbuffer/ManyToOneRingBuffer.h"
#include "concurrent/ringbuffer/OneToOneRingBuffer.h"
#include "concurrent/ringbuffer/RecordDescriptor.h"
#include "concurrent/ringbuffer/RingBufferDescriptor.h"
#include "concurrent/status/LocalSocketAddressStatus.h"
#include "concurrent/status/Position.h"
#include "concurrent/status/ReadablePosition.h"
#include "concurrent/status/StatusIndicatorReader.h"
#include "concurrent/status/UnsafeBufferPosition.h"
#include "protocol/DataHeaderFlyweight.h"
#include "protocol/HeaderFlyweight.h"
#include "protocol/NakFlyweight.h"
#include "protocol/SetupFlyweight.h"
#include "protocol/StatusMessageFlyweight.h"
#include "util/BitUtil.h"
#include "util/CommandOption.h"
#include "util/CommandOptionParser.h"
#include "util/Exceptions.h"
#include "util/Export.h"
#include "util/Index.h"
#include "util/LangUtil.h"
#include "util/MacroUtil.h"
#include "util/MemoryMappedFile.h"
#include "util/Platform.h"
#include "util/ScopeUtils.h"
#include "util/StringUtil.h"
#include "wrapper/Aeron.h"
#include "wrapper/BufferBuilder.h"
#include "wrapper/ChannelUri.h"
#include "wrapper/ChannelUriStringBuilder.h"
#include "wrapper/ClientConductor.h"
#include "wrapper/CncFileDescriptor.h"
#include "wrapper/CncFileReader.h"
#include "wrapper/Context.h"
#include "wrapper/ControlledFragmentAssembler.h"
#include "wrapper/Counter.h"
#include "wrapper/ExclusivePublication.h"
#include "wrapper/FragmentAssembler.h"
#include "wrapper/HeartbeatTimestamp.h"
#include "wrapper/Image.h"
#include "wrapper/ImageControlledFragmentAssembler.h"
#include "wrapper/ImageFragmentAssembler.h"
#include "wrapper/Publication.h"
#include "wrapper/Subscription.h"
#include "wrapper/concurrent/AgentInvoker.h"
#include "wrapper/concurrent/AgentRunner.h"
#include "wrapper/concurrent/Atomic64.h"
#include "wrapper/concurrent/AtomicBuffer.h"
#include "wrapper/concurrent/AtomicCounter.h"
#include "wrapper/concurrent/BackOffIdleStrategy.h"
#include "wrapper/concurrent/BusySpinIdleStrategy.h"
#include "wrapper/concurrent/CountersReader.h"
#include "wrapper/concurrent/NoOpIdleStrategy.h"
#include "wrapper/concurrent/SleepingIdleStrategy.h"
#include "wrapper/concurrent/YieldingIdleStrategy.h"
#include "wrapper/concurrent/atomic/Atomic64_gcc_cpp11.h"
#include "wrapper/concurrent/atomic/Atomic64_gcc_x86_64.h"
#include "wrapper/concurrent/atomic/Atomic64_msvc.h"
#include "wrapper/concurrent/errors/ErrorLogReader.h"
#include "wrapper/concurrent/logbuffer/BufferClaim.h"
#include "wrapper/concurrent/logbuffer/DataFrameHeader.h"
#include "wrapper/concurrent/logbuffer/FrameDescriptor.h"
#include "wrapper/concurrent/logbuffer/Header.h"
#include "wrapper/concurrent/logbuffer/HeaderWriter.h"
#include "wrapper/concurrent/logbuffer/LogBufferDescriptor.h"
#include "wrapper/concurrent/logbuffer/TermReader.h"
#include "wrapper/concurrent/status/Position.h"
#include "wrapper/concurrent/status/ReadablePosition.h"
#include "wrapper/concurrent/status/StatusIndicatorReader.h"
#include "wrapper/concurrent/status/UnsafeBufferPosition.h"
#include "wrapper/util/BitUtil.h"
#include "wrapper/util/CommandOption.h"
#include "wrapper/util/CommandOptionParser.h"
#include "wrapper/util/Exceptions.h"
#include "wrapper/util/Index.h"
#include "wrapper/util/LangUtil.h"
#include "wrapper/util/MacroUtil.h"
#include "wrapper/util/Platform.h"
#include "wrapper/util/ScopeUtils.h"
#include "wrapper/util/StringUtil.h"