// Original CPU teaching model; not a device simulator or benchmark.
#include <iostream>
#include <stdexcept>

void require(bool ok) { if (!ok) throw std::runtime_error("model check failed"); }

int main() {
 bool reserved=true,transferred=false,published=false;
 const bool early=reserved && transferred;
 require(!early);
 int payload=7; transferred=true;
 published=reserved && transferred;
 require(published && payload==7);
 std::cout<<"early_publish=blocked consumer="<<payload<<'\n';
}

