17 #ifndef CYBER_NODE_WRITER_BASE_H_ 18 #define CYBER_NODE_WRITER_BASE_H_ 25 #include "cyber/proto/role_attributes.pb.h" 44 explicit WriterBase(
const proto::RoleAttributes& role_attr)
54 virtual bool Init() = 0;
75 virtual void GetReaders(std::vector<proto::RoleAttributes>* readers) {}
93 std::lock_guard<std::mutex> g(
lock_);
106 #endif // CYBER_NODE_WRITER_BASE_H_ virtual ~WriterBase()
Definition: writer_base.h:46
std::mutex lock_
Definition: writer_base.h:99
proto::RoleAttributes role_attr_
Definition: writer_base.h:98
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
bool init_
Definition: writer_base.h:100
const std::string & GetChannelName() const
Get Writer's Channel name.
Definition: writer_base.h:82
virtual void GetReaders(std::vector< proto::RoleAttributes > *readers)
Get all Readers that subscriber our writing channel.
Definition: writer_base.h:75
bool IsInit() const
Is Writer initialized?
Definition: writer_base.h:92
Base class for a Writer. A Writer is an object to send messages through a 'Channel'.
Definition: writer_base.h:37
virtual bool HasReader()
Is there any Reader that subscribes our Channel? You can publish message when this return true...
Definition: writer_base.h:68
virtual void Shutdown()=0
Shutdown the Writer.
WriterBase(const proto::RoleAttributes &role_attr)
Construct a new Writer Base object.
Definition: writer_base.h:44
virtual bool Init()=0
Init the Writer.