47 virtual void SetLoggerFactory(
const std::shared_ptr<IDiarkisLoggerFactory>& loggerFactory,
Diarkis::StdString loggerNameSuffix) = 0;
55 virtual bool SetupAsTcp(
const std::shared_ptr<IDiarkisTcp>& tcp) = 0;
63 virtual bool SetupAsUdp(
const std::shared_ptr<IDiarkisUdp>& udp) = 0;
73 virtual bool SetTcp(
const std::shared_ptr<IDiarkisTcp>& tcp) = 0;
83 virtual bool SetUdp(
const std::shared_ptr<IDiarkisUdp>& udp) = 0;
91 virtual std::shared_ptr<IDiarkisEvent<const DiarkisGroupEventArgs&>> GetCreateEvent() = 0;
99 virtual std::shared_ptr<IDiarkisEvent<const DiarkisGroupEventArgs&>> GetJoinEvent() = 0;
107 virtual std::shared_ptr<IDiarkisEvent<const DiarkisGroupEventArgs&>> GetLeaveEvent() = 0;
115 virtual std::shared_ptr<IDiarkisEvent<const DiarkisPayloadEventArgs&>> GetMemberJoinEvent() = 0;
123 virtual std::shared_ptr<IDiarkisEvent<const DiarkisPayloadEventArgs&>> GetMemberLeaveEvent() = 0;
131 virtual std::shared_ptr<IDiarkisEvent<const DiarkisPayloadEventArgs&>> GetMemberBroadcastEvent() = 0;
219 virtual Diarkis::System::Result JoinRandom(uint16_t ttl,
const uint8_t* message,
size_t messageSize, uint32_t interval = 200,
bool allowEmpty =
false) = 0;
271 virtual Diarkis::System::Result BroadcastTo(
const char* groupID,
const uint8_t* message,
size_t messageSize,
bool reliable =
true) = 0;