1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
use crate::messages::submessage_elements::parameter_list::ParameterList;
use crate::messages::submessage_elements::serialized_payload::SerializedPayload;
use crate::structure::entity_id::EntityId_t;
use crate::structure::sequence_number::SequenceNumber_t;
/// This Submessage is sent from an RTPS Writer (NO_KEY or WITH_KEY)
/// to an RTPS Reader (NO_KEY or WITH_KEY)
///
/// The Submessage notifies the RTPS Reader of a change to
/// a data-object belonging to the RTPS Writer. The possible changes
/// include both changes in value as well as changes to the lifecycle
/// of the data-object.
#[derive(Debug, PartialEq)]
pub struct Data {
/// Identifies the RTPS Reader entity that is being informed of the change
/// to the data-object.
pub reader_id: EntityId_t,
/// Identifies the RTPS Writer entity that made the change to the
/// data-object.
pub writer_id: EntityId_t,
/// Uniquely identifies the change and the relative order for all changes
/// made by the RTPS Writer identified by the writerGuid. Each change
/// gets a consecutive sequence number. Each RTPS Writer maintains is
/// own sequence number.
pub writer_sn: SequenceNumber_t,
/// Contains QoS that may affect the interpretation of the message.
/// Present only if the InlineQosFlag is set in the header.
pub inline_qos: ParameterList,
/// If the DataFlag is set, then it contains the encapsulation of
/// the new value of the data-object after the change.
/// If the KeyFlag is set, then it contains the encapsulation of
/// the key of the data-object the message refers to.
pub serialized_payload: SerializedPayload,
}