extern "C" fn chan_consumer_main() -> !
Consumer: drains all messages; expects exactly 5, then Disconnected.