timed receive with null unit => receive; with non-null unit and timeout <=0 => tryReceive