17#ifndef CYBER_SERVICE_DISCOVERY_ROLE_ROLE_H_
18#define CYBER_SERVICE_DISCOVERY_ROLE_ROLE_H_
24#include "cyber/proto/role_attributes.pb.h"
28namespace service_discovery {
virtual bool Match(const proto::RoleAttributes &target_attr) const
void set_timestamp_ns(uint64_t timestamp_ns)
proto::RoleAttributes attributes_
void set_attributes(const proto::RoleAttributes &attr)
virtual ~RoleBase()=default
bool IsEarlierThan(const RoleBase &other) const
const proto::RoleAttributes & attributes() const
uint64_t timestamp_ns() const
bool Match(const proto::RoleAttributes &target_attr) const override
virtual ~RoleServer()=default
bool Match(const proto::RoleAttributes &target_attr) const override
virtual ~RoleWriter()=default
std::shared_ptr< RoleServer > RoleServerPtr
std::shared_ptr< RoleBase > RolePtr
std::shared_ptr< RoleReader > RoleReaderPtr
std::shared_ptr< RoleClient > RoleClientPtr
std::shared_ptr< RoleNode > RoleNodePtr
std::shared_ptr< RoleWriter > RoleWriterPtr