attempt to do non-blocking input
use polling so receiving published messages doesn't block