stream: partial doRead implementation