check buffer first for async receive