bab use a reliable buffer and reduce polling