CoreDX Data Distribution Service
The High Performance, Small Footprint DDS from Twin Oaks Computing, Inc
IDataWriter< T > Interface Template Reference
Inheritance diagram for IDataWriter< T >:
DataWriterI< T >

Public Member Functions

ReturnCode_t get_key_value (T key_holder, InstanceHandle_t handle)
 
InstanceHandle_t lookup_instance (T instance_data)
 
InstanceHandle_t register_instance (T instance_data)
 
InstanceHandle_t register_instance_w_timestamp (T instance_data, Time_t ts)
 
ReturnCode_t unregister_instance (T instance_data, InstanceHandle_t handle)
 
ReturnCode_t unregister_instance_w_timestamp (T instance_data, InstanceHandle_t handle, Time_t timestamp)
 
ReturnCode_t write (T instance_data, InstanceHandle_t handle)
 
ReturnCode_t write_w_timestamp (T instance_data, InstanceHandle_t handle, Time_t timestamp)
 
ReturnCode_t dispose (T instance_data, InstanceHandle_t handle)
 
ReturnCode_t dispose_w_timestamp (T instance_data, InstanceHandle_t handle, Time_t timestamp)
 

Detailed Description

The IDataWriter interface defines the type specific operations of a DataWriter

This interface is templatized on the Type of the data that the writer handles.

Type Constraints
T :DdsType 

Member Function Documentation

◆ dispose()

ReturnCode_t dispose ( instance_data,
InstanceHandle_t  handle 
)

Indicates that the instance no longer exists. If handle is not HANDLE_NIL, then handle must identify a valid instance that has been previously registered or written by this DataWriter. The current time is used as the source timstamp.

Implemented in DataWriterI< T >.

◆ dispose_w_timestamp()

ReturnCode_t dispose_w_timestamp ( instance_data,
InstanceHandle_t  handle,
Time_t  timestamp 
)

Indicates that the instance no longer exists. If handle is not HANDLE_NIL, then handle must identify a valid instance that has been previously registered or written by this DataWriter. The source_timestamp is used as the source timstamp for the published message.

Implemented in DataWriterI< T >.

◆ get_key_value()

ReturnCode_t get_key_value ( key_holder,
InstanceHandle_t  handle 
)

This routine will populate the data structure indicated by key_holder with the key infomation identified by handle.

This routine is data type specific. The generated type specific DataWriter includes an implementation of this routine which should be used to support type-safety.

Implemented in DataWriterI< T >.

◆ lookup_instance()

InstanceHandle_t lookup_instance ( instance_data)

Returns the handle that identifies the data instance provided in instance_data. The 'key' field values of the data are associated with a unique handle.

Implemented in DataWriterI< T >.

◆ register_instance()

InstanceHandle_t register_instance ( instance_data)

Declares the existance of an instance identified by the 'key fields' in instance_data. The handle that uniquely identifies the instance is returned. The current time is used as the source timestamp.

Implemented in DataWriterI< T >.

◆ register_instance_w_timestamp()

InstanceHandle_t register_instance_w_timestamp ( instance_data,
Time_t  ts 
)

Declares the existance of an instance identified by the 'key fields' in instance_data. The handle that uniquely identifies the instance is returned. The source_timestamp is used as the source timestamp.

Implemented in DataWriterI< T >.

◆ unregister_instance()

ReturnCode_t unregister_instance ( instance_data,
InstanceHandle_t  handle 
)

Indicates that the writer will no longer be providing updates the specified instance. If handle is not HANDLE_NIL, then handle must identify a valid instance that has been previously registered or written by this DataWriter. The current time is used as the source timstamp.

Implemented in DataWriterI< T >.

◆ unregister_instance_w_timestamp()

ReturnCode_t unregister_instance_w_timestamp ( instance_data,
InstanceHandle_t  handle,
Time_t  timestamp 
)

Indicates that the writer will no longer be providing updates the specified instance. If handle is not HANDLE_NIL, then handle must identify a valid instance that has been previously registered or written by this DataWriter. The provided source_timestamp is used as the source timstamp.

Implemented in DataWriterI< T >.

◆ write()

ReturnCode_t write ( instance_data,
InstanceHandle_t  handle 
)

Publishes the provided instance_data. If handle is HANDLE_NIL, then the handle is determined from the 'key fields' of instance_data.

The current time is used as the source timestamp for the published data.

This routine may block if RELIABILITY kind == RELIABLE, RESOURCE_LIMITS are not UNLIMITED, and the local resources are exhausted. The routine will block at most 'max_blocking_time' as configured in the RELIABLITY QoS. If the routine is still unable to handle the data, after blocking, then RETCODE_TIMEOUT is returned.

The routine may return RETCODE_OUT_OF_RESOURCES if it is determined that no amount of blocking will allow the data to be processed.

On success, RETCODE_OK is returned.

Implemented in DataWriterI< T >.

◆ write_w_timestamp()

ReturnCode_t write_w_timestamp ( instance_data,
InstanceHandle_t  handle,
Time_t  timestamp 
)

Publishes the provided instance_data. If handle is HANDLE_NIL, then the handle is determined from the 'key fields' of instance_data.

The source_timestamp is used as the source timestamp for the published data.

This routine may block if RELIABILITY kind == RELIABLE, RESOURCE_LIMITS are not UNLIMITED, and the local resources are exhausted. The routine will block at most 'max_blocking_time' as configured in the RELIABLITY QoS. If the routine is still unable to handle the data, after blocking, then RETCODE_TIMEOUT is returned.

The routine may return RETCODE_OUT_OF_RESOURCES if it is determined that no amount of blocking will allow the data to be processed.

On success, RETCODE_OK is returned.

Implemented in DataWriterI< T >.


© 2009-2020 Twin Oaks Computing, Inc
Castle Rock, CO 80108
All rights reserved.