#include "zinc.hpp"
#include <iostream>
#include <thread>
int main() {
// Writer thread
std::thread writer([] {
auto region = zinc::SharedRegion::create("cpp-channel", 4096);
auto bytes = region.bytes();
*reinterpret_cast<uint64_t*>(bytes.data()) = 42;
region.notify();
std::this_thread::sleep_for(std::chrono::seconds(2));
});
// Reader thread
std::thread reader([] {
auto region = zinc::SharedRegion::open("cpp-channel");
if (region.wait(5000)) {
auto bytes = region.bytes();
auto val = *reinterpret_cast<const uint64_t*>(bytes.data());
std::cout << "read: " << val << "\n"; // 42
}
});
writer.join();
reader.join();
}