Sedp.cpp File Reference

#include "Sedp.h"
#include "Spdp.h"
#include "MessageTypes.h"
#include "RtpsDiscovery.h"
#include "RtpsCoreTypeSupportImpl.h"
#include "ParameterListConverter.h"
#include "dds/DCPS/transport/framework/ReceivedDataSample.h"
#include "dds/DCPS/transport/rtps_udp/RtpsUdpInst.h"
#include "dds/DCPS/transport/rtps_udp/RtpsUdpInst_rch.h"
#include "dds/DCPS/Serializer.h"
#include "dds/DCPS/Definitions.h"
#include "dds/DCPS/GuidConverter.h"
#include "dds/DCPS/GuidUtils.h"
#include "dds/DdsDcpsGuidTypeSupportImpl.h"
#include "dds/DCPS/AssociationData.h"
#include "dds/DCPS/Service_Participant.h"
#include "dds/DCPS/Qos_Helper.h"
#include "dds/DCPS/DataSampleHeader.h"
#include "dds/DCPS/SendStateDataSampleList.h"
#include "dds/DCPS/DataReaderCallbacks.h"
#include "dds/DCPS/DataWriterCallbacks.h"
#include "dds/DCPS/Marked_Default_Qos.h"
#include "dds/DCPS/BuiltInTopicUtils.h"
#include "dds/DCPS/DCPS_Utils.h"
#include "dds/DCPS/transport/framework/NetworkAddress.h"
#include <ace/Reverse_Lock_T.h>
#include <ace/Auto_Ptr.h>
#include <cstring>

Include dependency graph for Sedp.cpp:

Go to the source code of this file.

Namespaces

namespace  OpenDDS
namespace  OpenDDS::RTPS

Functions

bool qosChanged (DDS::PublicationBuiltinTopicData &dest, const DDS::PublicationBuiltinTopicData &src)
bool qosChanged (DDS::SubscriptionBuiltinTopicData &dest, const DDS::SubscriptionBuiltinTopicData &src)
bool paramsChanged (OpenDDS::DCPS::ContentFilterProperty_t &dest, const OpenDDS::DCPS::ContentFilterProperty_t &src)
void OpenDDS::RTPS::create_association_data_proto (DCPS::AssociationData &proto, const SPDPdiscoveredParticipantData &pdata)
static bool OpenDDS::RTPS::decode_parameter_list (const DCPS::ReceivedDataSample &sample, DCPS::Serializer &ser, const ACE_CDR::Octet &encap, ParameterList &data)


Function Documentation

bool @35::paramsChanged ( OpenDDS::DCPS::ContentFilterProperty_t dest,
const OpenDDS::DCPS::ContentFilterProperty_t src 
) [static]

Definition at line 143 of file Sedp.cpp.

References OpenDDS::DCPS::ContentFilterProperty_t::expressionParameters.

Referenced by OpenDDS::RTPS::Sedp::data_received().

00145 {
00146   if (dest.expressionParameters.length() != src.expressionParameters.length()) {
00147     dest.expressionParameters = src.expressionParameters;
00148     return true;
00149   }
00150   for (CORBA::ULong i = 0; i < src.expressionParameters.length(); ++i) {
00151     if (0 != std::strcmp(dest.expressionParameters[i],
00152                          src.expressionParameters[i])) {
00153       dest.expressionParameters = src.expressionParameters;
00154       return true;
00155     }
00156   }
00157   return false;
00158 }

bool @35::qosChanged ( DDS::SubscriptionBuiltinTopicData dest,
const DDS::SubscriptionBuiltinTopicData src 
) [static]

Definition at line 95 of file Sedp.cpp.

References DDS::SubscriptionBuiltinTopicData::deadline, DDS::SubscriptionBuiltinTopicData::group_data, DDS::SubscriptionBuiltinTopicData::latency_budget, DDS::SubscriptionBuiltinTopicData::partition, DDS::SubscriptionBuiltinTopicData::time_based_filter, DDS::SubscriptionBuiltinTopicData::topic_data, and DDS::SubscriptionBuiltinTopicData::user_data.

00097 {
00098 #ifndef OPENDDS_SAFETY_PROFILE
00099   using OpenDDS::DCPS::operator!=;
00100 #endif
00101   bool changed = false;
00102 
00103   // check each Changeable QoS policy value in Subcription BIT Data
00104 
00105   if (dest.deadline != src.deadline) {
00106     changed = true;
00107     dest.deadline = src.deadline;
00108   }
00109 
00110   if (dest.latency_budget != src.latency_budget) {
00111     changed = true;
00112     dest.latency_budget = src.latency_budget;
00113   }
00114 
00115   if (dest.user_data != src.user_data) {
00116     changed = true;
00117     dest.user_data = src.user_data;
00118   }
00119 
00120   if (dest.time_based_filter != src.time_based_filter) {
00121     changed = true;
00122     dest.time_based_filter = src.time_based_filter;
00123   }
00124 
00125   if (dest.partition != src.partition) {
00126     changed = true;
00127     dest.partition = src.partition;
00128   }
00129 
00130   if (dest.topic_data != src.topic_data) {
00131     changed = true;
00132     dest.topic_data = src.topic_data;
00133   }
00134 
00135   if (dest.group_data != src.group_data) {
00136     changed = true;
00137     dest.group_data = src.group_data;
00138   }
00139 
00140   return changed;
00141 }

bool @35::qosChanged ( DDS::PublicationBuiltinTopicData dest,
const DDS::PublicationBuiltinTopicData src 
) [static]

Definition at line 42 of file Sedp.cpp.

References DDS::PublicationBuiltinTopicData::deadline, DDS::PublicationBuiltinTopicData::group_data, DDS::PublicationBuiltinTopicData::latency_budget, DDS::PublicationBuiltinTopicData::lifespan, DDS::PublicationBuiltinTopicData::ownership_strength, DDS::PublicationBuiltinTopicData::partition, DDS::PublicationBuiltinTopicData::topic_data, and DDS::PublicationBuiltinTopicData::user_data.

Referenced by OpenDDS::RTPS::Sedp::data_received().

00044 {
00045 #ifndef OPENDDS_SAFETY_PROFILE
00046   using OpenDDS::DCPS::operator!=;
00047 #endif
00048   bool changed = false;
00049 
00050   // check each Changeable QoS policy value in Publication BIT Data
00051 
00052   if (dest.deadline != src.deadline) {
00053     changed = true;
00054     dest.deadline = src.deadline;
00055   }
00056 
00057   if (dest.latency_budget != src.latency_budget) {
00058     changed = true;
00059     dest.latency_budget = src.latency_budget;
00060   }
00061 
00062   if (dest.lifespan != src.lifespan) {
00063     changed = true;
00064     dest.lifespan = src.lifespan;
00065   }
00066 
00067   if (dest.user_data != src.user_data) {
00068     changed = true;
00069     dest.user_data = src.user_data;
00070   }
00071 
00072   if (dest.ownership_strength != src.ownership_strength) {
00073     changed = true;
00074     dest.ownership_strength = src.ownership_strength;
00075   }
00076 
00077   if (dest.partition != src.partition) {
00078     changed = true;
00079     dest.partition = src.partition;
00080   }
00081 
00082   if (dest.topic_data != src.topic_data) {
00083     changed = true;
00084     dest.topic_data = src.topic_data;
00085   }
00086 
00087   if (dest.group_data != src.group_data) {
00088     changed = true;
00089     dest.group_data = src.group_data;
00090   }
00091 
00092   return changed;
00093 }


Generated on Fri Feb 12 20:05:44 2016 for OpenDDS by  doxygen 1.4.7