void demux(Event e) { if (e.t) std::cout << "in demux " << e.type << " "<< *e.t << std::endl; else std::cout << "in demux (null tuple) " << e.type << std::endl; assert(e.type==Event::RECV || e.type == Event::NONE); mainloop(e); while (!taskQ.empty()){ e = taskQ.dequeue(); std::cout << "in demux loop" << e.type << " "<< *e.t << std::endl; assert(e.type==Event::RECV || e.type == Event::NONE); mainloop(e); } /* TxnContext ctx = g_txnManager->create(); demux_handler(e, ctx); taskQ.commitTables(); view_maintenance( taskQ, ctx ); g_txnManager->commit(ctx); */ }