read do buffer