ZeroTierOne/nonfree/controller/StatusWriter.hpp
Grant Limberg 195d5b47f0
Some checks are pending
/ build_macos (push) Waiting to run
/ build_windows (push) Waiting to run
/ build_ubuntu (push) Waiting to run
Merge branch 'adam/1.16' into gl/ctl-pubsub
2025-09-01 16:47:55 -07:00

43 lines
888 B
C++

#ifndef STATUS_WRITER_HPP
#define STATUS_WRITER_HPP
#include "../../node/InetAddress.hpp"
#include <string>
namespace ZeroTier {
/**
* Abstract interface for writing status information somewhere.
*
* Implementations might write to a database, a file, or something else.
*/
class StatusWriter {
public:
virtual ~StatusWriter() = 0;
virtual void updateNodeStatus(
const std::string& network_id,
const std::string& node_id,
const std::string& os,
const std::string& arch,
const std::string& version,
const InetAddress& address,
int64_t last_seen) = 0;
virtual size_t queueLength() const = 0;
virtual void writePending() = 0;
};
struct PendingStatusEntry {
std::string network_id;
std::string node_id;
std::string os;
std::string arch;
std::string version;
InetAddress address;
int64_t last_seen;
};
} // namespace ZeroTier
#endif // STATUS_WRITER_HPP