how we can read fewer byte if we read as many as pipeIn.available()  return ?