Skip to main content

Crate hdds_c

Crate hdds_c 

Source
Expand description

§HDDS C FFI Bindings

This crate provides C-compatible FFI bindings for the HDDS DDS implementation.

§Safety

All public functions are unsafe and require the caller to uphold the invariants documented in each function’s safety comment.

Structs§

HddsDataReader
Opaque handle to a DataReader
HddsDataWriter
Opaque handle to a DataWriter
HddsDeadlineMissedStatus
Deadline missed status (C-compatible mirror of Rust RequestedDeadlineMissedStatus).
HddsGuardCondition
Opaque handle to a GuardCondition
HddsIncompatibleQosStatus
Incompatible QoS status (C-compatible mirror of Rust RequestedIncompatibleQosStatus).
HddsLivelinessChangedStatus
Liveliness changed status (C-compatible mirror of Rust LivelinessChangedStatus).
HddsMetrics
Opaque handle to a MetricsCollector
HddsMetricsSnapshot
Telemetry metrics snapshot (C-compatible)
HddsParticipant
Opaque handle to a Participant
HddsPublicationMatchedStatus
Publication matched status (C-compatible mirror of Rust PublicationMatchedStatus).
HddsPublisher
Opaque handle to a Publisher
HddsQoS
Opaque handle to a QoS profile.
HddsReaderListener
C-compatible DataReader listener.
HddsSampleLostStatus
Sample lost status (C-compatible mirror of Rust SampleLostStatus).
HddsSampleRejectedStatus
Sample rejected status (C-compatible mirror of Rust SampleRejectedStatus).
HddsStatusCondition
Opaque handle to a StatusCondition
HddsSubscriber
Opaque handle to a Subscriber
HddsSubscriptionMatchedStatus
Subscription matched status (C-compatible mirror of Rust SubscriptionMatchedStatus).
HddsTelemetryExporter
Opaque handle to a telemetry Exporter
HddsTypeObject
HddsWaitSet
Opaque handle to a WaitSet
HddsWriterListener
C-compatible DataWriter listener.

Enums§

HddsError
Error codes (C-compatible enum)
HddsLogLevel
Log level for HDDS logging
HddsTransportMode
Transport mode for participant creation

Functions§

hdds_guard_condition_create
Create a new guard condition.
hdds_guard_condition_get_trigger
Read a guard condition’s current trigger value without modifying it.
hdds_guard_condition_release
Release a guard condition.
hdds_guard_condition_set_trigger
Set a guard condition’s trigger value.
hdds_logging_init
Initialize HDDS logging with console output
hdds_logging_init_env
Initialize HDDS logging with environment variable override
hdds_logging_init_with_filter
Initialize HDDS logging with custom filter string
hdds_participant_create
Create a new DDS Participant with default settings (UdpMulticast transport)
hdds_participant_create_with_transport
Create a new DDS Participant with specified transport mode
hdds_participant_destroy
Destroy a Participant
hdds_participant_domain_id
Get the participant domain ID
hdds_participant_graph_guard_condition
Get the participant-level graph guard condition.
hdds_participant_id
Get the participant ID (unique within domain)
hdds_participant_name
Get the participant name
hdds_participant_register_type_support
Register a ROS 2 type support with the participant.
hdds_publisher_create
Create a Publisher with default QoS
hdds_publisher_create_with_qos
Create a Publisher with custom QoS
hdds_publisher_create_writer
Create a DataWriter from a Publisher with default QoS
hdds_publisher_create_writer_with_qos
Create a DataWriter from a Publisher with custom QoS
hdds_publisher_destroy
Destroy a Publisher
hdds_reader_clear_listener
Remove the listener from a DataReader.
hdds_reader_create
Create a DataReader for a topic
hdds_reader_create_with_qos
Create a DataReader for a topic with custom QoS
hdds_reader_create_with_type
Create a DataReader for a topic with custom QoS and explicit type name.
hdds_reader_destroy
Destroy a DataReader
hdds_reader_get_status_condition
Get the status condition associated with a reader.
hdds_reader_set_listener
Install a listener on a DataReader.
hdds_reader_take
Take data from a topic (non-blocking)
hdds_reader_topic_name
Get the topic name for a reader
hdds_status_condition_release
Release a previously acquired status condition.
hdds_subscriber_create
Create a Subscriber with default QoS
hdds_subscriber_create_reader
Create a DataReader from a Subscriber with default QoS
hdds_subscriber_create_reader_with_qos
Create a DataReader from a Subscriber with custom QoS
hdds_subscriber_create_with_qos
Create a Subscriber with custom QoS
hdds_subscriber_destroy
Destroy a Subscriber
hdds_telemetry_get
Get the global metrics collector (if initialized)
hdds_telemetry_init
Initialize the global metrics collector
hdds_telemetry_record_latency
Record a latency sample
hdds_telemetry_release
Release a metrics handle
hdds_telemetry_snapshot
Take a snapshot of current metrics
hdds_telemetry_start_exporter
Start the telemetry export server
hdds_telemetry_stop_exporter
Stop and release the telemetry exporter
hdds_type_object_hash
Get the type hash from a type object handle.
hdds_type_object_release
Release a type object handle.
hdds_version
Get HDDS library version string
hdds_waitset_attach_guard_condition
Attach a guard condition to a waitset.
hdds_waitset_attach_status_condition
Attach a status condition to a waitset.
hdds_waitset_create
Create a waitset.
hdds_waitset_destroy
Destroy a waitset.
hdds_waitset_detach_condition
Detach a condition (status or guard) from a waitset.
hdds_waitset_wait
Wait for any attached condition to trigger.
hdds_writer_clear_listener
Remove the listener from a DataWriter.
hdds_writer_create
Create a DataWriter for a topic
hdds_writer_create_with_qos
Create a DataWriter for a topic with custom QoS
hdds_writer_create_with_type
Create a DataWriter for a topic with custom QoS and explicit type name.
hdds_writer_destroy
Destroy a DataWriter
hdds_writer_set_listener
Install a listener on a DataWriter.
hdds_writer_topic_name
Get the topic name for a writer
hdds_writer_write
Write data to a topic

Type Aliases§

HddsOnDataAvailable
Callback for data available events.
HddsOnDeadlineMissed
Callback for deadline missed events (reader side).
HddsOnIncompatibleQos
Callback for incompatible QoS events (reader side).
HddsOnLivelinessChanged
Callback for liveliness changed events.
HddsOnLivelinessLost
Callback for liveliness lost events (writer side).
HddsOnOfferedDeadlineMissed
Callback for offered deadline missed events (writer side).
HddsOnOfferedIncompatibleQos
Callback for offered incompatible QoS events (writer side).
HddsOnPublicationMatched
Callback for publication matched events.
HddsOnSampleLost
Callback for sample lost events.
HddsOnSampleRejected
Callback for sample rejected events.
HddsOnSampleWritten
Callback for sample written events (writer confirmation).
HddsOnSubscriptionMatched
Callback for subscription matched events.