The idea is each reader seeks forward until it finds a newline, and then starts reading data from there.  The previous reader will read until the first newline >= data_size.