Skip to content

Commit

Permalink
address PR comments
Browse files Browse the repository at this point in the history
Signed-off-by: Miaofei <miaofei@amazon.com>
  • Loading branch information
mm318 committed Mar 3, 2020
1 parent 86e698b commit bf50896
Show file tree
Hide file tree
Showing 3 changed files with 82 additions and 43 deletions.
4 changes: 2 additions & 2 deletions rmw/include/rmw/event.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@ typedef enum rmw_event_type_t
// subscription events
RMW_EVENT_LIVELINESS_CHANGED,
RMW_EVENT_REQUESTED_DEADLINE_MISSED,
RMW_EVENT_REQUESTED_INCOMPATIBLE_QOS,
RMW_EVENT_REQUESTED_QOS_INCOMPATIBLE,

// publisher events
RMW_EVENT_LIVELINESS_LOST,
RMW_EVENT_OFFERED_DEADLINE_MISSED,
RMW_EVENT_OFFERED_INCOMPATIBLE_QOS,
RMW_EVENT_OFFERED_QOS_INCOMPATIBLE,

// sentinel value
RMW_EVENT_INVALID
Expand Down
79 changes: 79 additions & 0 deletions rmw/include/rmw/incompatible_qos_events_statuses.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
// Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#ifndef RMW__INCOMPATIBLE_QOS_EVENTS_STATUSES_H_
#define RMW__INCOMPATIBLE_QOS_EVENTS_STATUSES_H_

#ifdef __cplusplus
extern "C"
{
#endif

/// QoS Policy Kinds
enum RMW_PUBLIC_TYPE rmw_qos_policy_kind_t
{
RMW_QOS_POLICY_INVALID = 1 << 0,
RMW_QOS_POLICY_DURABILITY = 1 << 1,
RMW_QOS_POLICY_DEADLINE = 1 << 2,
RMW_QOS_POLICY_LIVELINESS = 1 << 3,
RMW_QOS_POLICY_RELIABILITY = 1 << 4,
RMW_QOS_POLICY_HISTORY = 1 << 5,
RMW_QOS_POLICY_LIFESPAN = 1 << 6
};

/// Event state for a subscription's 'RMW_EVENT_REQUESTED_QOS_INCOMPATIBLE' events.
typedef struct RMW_PUBLIC_TYPE rmw_requested_qos_incompatible_event_status_t
{
/**
* Total cumulative number of times the concerned subscription discovered a
* publisher for the same topic with an offered QoS that was incompatible
* with that requested by the subscription.
*/
int32_t total_count;
/**
* The change in total_count since the last time the status was read.
*/
int32_t total_count_change;
/**
* The Qos Policy Kind of one of the policies that was found to be
* incompatible the last time an incompatibility was detected.
*/
int32_t last_policy_kind;
} rmw_requested_qos_incompatible_event_status_t;

/// Event state for a publisher's 'RMW_EVENT_OFFERED_QOS_INCOMPATIBLE' events.
typedef struct RMW_PUBLIC_TYPE rmw_offered_qos_incompatible_event_status_t
{
/**
* Total cumulative number of times the concerned publisher discovered a
* subscription for the same topic with a requested QoS that was incompatible
* with that offered by the publisher.
*/
int32_t total_count;
/**
* The change in total_count since the last time the status was read.
*/
int32_t total_count_change;
/**
* The Qos Policy Kind of one of the policies that was found to be
* incompatible the last time an incompatibility was detected.
*/
int32_t last_policy_kind;
} rmw_offered_qos_incompatible_event_status_t;

#ifdef __cplusplus
}
#endif

#endif // RMW__INCOMPATIBLE_QOS_EVENTS_STATUSES_H_
42 changes: 1 addition & 41 deletions rmw/include/rmw/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ enum RMW_PUBLIC_TYPE rmw_qos_liveliness_policy_t
#define RMW_QOS_LIFESPAN_DEFAULT {0, 0}
#define RMW_QOS_LIVELINESS_LEASE_DURATION_DEFAULT {0, 0}

/// RMW equivalent of the DDS QoS Policy IDs
/// QoS Policy IDs
enum RMW_PUBLIC_TYPE rmw_qos_policy_id_t
{
RMW_QOS_POLICY_ID_INVALID = 0,
Expand Down Expand Up @@ -419,26 +419,6 @@ typedef struct RMW_PUBLIC_TYPE rmw_requested_deadline_missed_status_t
int32_t total_count_change;
} rmw_requested_deadline_missed_status_t;

/// QoS Requested Incompatible QoS information provided by a subscription.
typedef struct RMW_PUBLIC_TYPE rmw_requested_incompatible_qos_status_t
{
/**
* Total cumulative number of times the concerned subscription discovered a
* publisher for the same topic with an offered QoS that was incompatible
* with that requested by the subscription..
*/
int32_t total_count;
/**
* The change in total_count since the last time the status was read.
*/
int32_t total_count_change;
/**
* The Qos Policy Id of one of the policies that was found to be
* incompatible the last time an incompatibility was detected
*/
int32_t last_policy_id;
} rmw_requested_incompatible_qos_status_t;

/// QoS Liveliness Lost information provided by a publisher.
typedef struct RMW_PUBLIC_TYPE rmw_liveliness_lost_status_t
{
Expand Down Expand Up @@ -467,26 +447,6 @@ typedef struct RMW_PUBLIC_TYPE rmw_offered_deadline_missed_status_t
int32_t total_count_change;
} rmw_offered_deadline_missed_status_t;

/// QoS Offered Incompatible QoS information provided by a publisher.
typedef struct RMW_PUBLIC_TYPE rmw_offered_incompatible_qos_status_t
{
/**
* Total cumulative number of times the concerned publisher discovered a
* subscription for the same topic with a requested QoS that was incompatible
* with that offered by the publisher.
*/
int32_t total_count;
/**
* The change in total_count since the last time the status was read.
*/
int32_t total_count_change;
/**
* The Qos Policy Id of one of the policies that was found to be
* incompatible the last time an incompatibility was detected
*/
int32_t last_policy_id;
} rmw_offered_incompatible_qos_status_t;

#ifdef __cplusplus
}
#endif
Expand Down

0 comments on commit bf50896

Please sign in to comment.