Piped data i/o