27 using PublicationId = std::string;
31 std::vector<uint8_t> data;
33 class InternalListener {
35 virtual bool OnWriteData(
const SendingData& buffer,
36 const PublicationId& publication_id) = 0;
41 void AddInternalListener(
const std::string& remote_member_id,
42 const PublicationId& publication_id,
43 InternalListener* listener);
44 void RemoveInternalListener(
const std::string& remote_member_id,
45 const PublicationId& publication_id);
48 bool Write(
const std::string& data)
const;
50 bool Write(
const uint8_t* data,
size_t length)
const;
54 bool Enable()
override;
56 bool Disable()
override;
60 std::unordered_map<std::string, std::unordered_map<PublicationId, InternalListener*>>
62 mutable std::mutex listener_mtx_;
63 std::atomic<bool> is_enabled_;