Line data Source code
1 : /* 2 : * Distributed under the OpenDDS License. 3 : * See: http://www.opendds.org/license.html 4 : */ 5 : 6 : #ifndef OPENDDS_DCPS_TRANSPORT_RTPS_UDP_METASUBMESSAGE_H 7 : #define OPENDDS_DCPS_TRANSPORT_RTPS_UDP_METASUBMESSAGE_H 8 : 9 : #include "Rtps_Udp_Export.h" 10 : 11 : #include <dds/DCPS/RTPS/RtpsCoreTypeSupportImpl.h> 12 : 13 : OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL 14 : 15 : namespace OpenDDS { 16 : namespace DCPS { 17 : 18 : struct OpenDDS_Rtps_Udp_Export MetaSubmessage { 19 61 : MetaSubmessage() 20 61 : : src_guid_(GUID_UNKNOWN), dst_guid_(GUID_UNKNOWN), ignore_(false) {} 21 2 : MetaSubmessage(const GUID_t& src, const GUID_t& dst) 22 2 : : src_guid_(src), dst_guid_(dst), ignore_(false) {} 23 : 24 1 : void reset_destination() 25 : { 26 1 : dst_guid_ = GUID_UNKNOWN; 27 1 : } 28 : 29 : GUID_t src_guid_; 30 : GUID_t dst_guid_; 31 : RTPS::Submessage sm_; 32 : bool ignore_; 33 : }; 34 : 35 : typedef OPENDDS_VECTOR(MetaSubmessage) MetaSubmessageVec; 36 : 37 : /// Mark submessages that are superseded as ignored. 38 : /// Returns the number of messages that are marked as ignored. 39 : OpenDDS_Rtps_Udp_Export 40 : size_t dedup(MetaSubmessageVec& vec); 41 : 42 : } // namespace DCPS 43 : } // namespace OpenDDS 44 : 45 : OPENDDS_END_VERSIONED_NAMESPACE_DECL 46 : 47 : #endif /* OPENDDS_DCPS_TRANSPORT_RTPS_UDP_METASUBMESSAGE_H */