Skip to content

Commit

Permalink
Refs 20739: Rev 2 changes
Browse files Browse the repository at this point in the history
Signed-off-by: Mario Dominguez <[email protected]>
  • Loading branch information
Mario-DL committed Apr 4, 2024
1 parent e21ae54 commit a81affa
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 15 deletions.
4 changes: 2 additions & 2 deletions src/cpp/fastdds/subscriber/SubscriberImpl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,16 @@

#include <fastrtps/attributes/SubscriberAttributes.h>

#include <fastdds/dds/core/status/StatusMask.hpp>
#include <fastdds/dds/subscriber/DataReaderListener.hpp>
#include <fastdds/dds/subscriber/qos/DataReaderQos.hpp>
#include <fastdds/dds/subscriber/qos/SubscriberQos.hpp>
#include <fastdds/dds/core/status/StatusMask.hpp>
#include <fastrtps/types/TypesBase.h>

#include <statistics/rtps/monitor-service/interfaces/IStatusQueryable.hpp>

#include <mutex>
#include <map>
#include <mutex>

using eprosima::fastrtps::types::ReturnCode_t;

Expand Down
30 changes: 17 additions & 13 deletions src/cpp/statistics/rtps/monitor-service/MonitorService.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -262,73 +262,77 @@ bool MonitorService::write_status(
status_data.local_entity(to_statistics_type({local_participant_guid_.guidPrefix, entity_id}));
GUID_t local_entity_guid = {local_participant_guid_.guidPrefix, entity_id};

bool status_retrieved = true;
switch (i)
{
case PROXY:
{
CDRMessage_t msg;
//! Depending on the entity type [Participant, Writer, Reader]
//! the size will be accordingly calculated
assert(proxy_queryable_->get_serialized_proxy(local_entity_guid, &msg));
status_retrieved = proxy_queryable_->get_serialized_proxy(local_entity_guid,&msg);
data.entity_proxy().assign(msg.buffer, msg.buffer + msg.length);
break;
}
case CONNECTION_LIST:
{
std::vector<statistics::Connection> conns;
assert(conns_queryable_->get_entity_connections(local_entity_guid, conns));
status_retrieved = conns_queryable_->get_entity_connections(local_entity_guid,conns);
data.connection_list(conns);
break;
}
case INCOMPATIBLE_QOS:
{
data.incompatible_qos_status(IncompatibleQoSStatus_s{});
assert(status_queryable_.get_monitoring_status(local_entity_guid, data));
status_retrieved = status_queryable_.get_monitoring_status(local_entity_guid, data);
break;
}
//Not triggered for the moment
case INCONSISTENT_TOPIC:
{
EPROSIMA_LOG_ERROR(MONITOR_SERVICE, "Inconsistent topic status not supported yet");
assert(false);
(void)local_entity_guid;
break;
}
case LIVELINESS_LOST:
{
data.liveliness_lost_status(LivelinessLostStatus_s{});
assert(status_queryable_.get_monitoring_status(local_entity_guid, data));
status_retrieved = status_queryable_.get_monitoring_status(local_entity_guid, data);
break;
}
case LIVELINESS_CHANGED:
{
data.liveliness_changed_status(LivelinessChangedStatus_s{});
assert(status_queryable_.get_monitoring_status(local_entity_guid, data));
status_retrieved = status_queryable_.get_monitoring_status(local_entity_guid, data);
break;
}
case DEADLINE_MISSED:
{
data.deadline_missed_status(DeadlineMissedStatus_s{});
assert(status_queryable_.get_monitoring_status(local_entity_guid, data));
status_retrieved = status_queryable_.get_monitoring_status(local_entity_guid, data);
break;
}
case SAMPLE_LOST:
{
data.sample_lost_status(SampleLostStatus_s{});
assert(status_queryable_.get_monitoring_status(local_entity_guid, data));
status_retrieved = status_queryable_.get_monitoring_status(local_entity_guid, data);
break;
}
default:
{
EPROSIMA_LOG_ERROR(MONITOR_SERVICE, "Referring to an unknown status");
assert(false);
(void)local_entity_guid;
break;
}
}

status_data.status_kind((StatusKind)i);
status_data.value(data);
add_change(status_data, false);

assert(status_retrieved);
if (status_retrieved)
{
status_data.status_kind((StatusKind)i);
status_data.value(data);
add_change(status_data, false);
}
}
}
}
Expand Down

0 comments on commit a81affa

Please sign in to comment.