也支持直接write buf