make possible define buffer size in pipe, and use pipe without source buffer copy