title: return value of QTcpSocket::write(QByteArray& buf);
body: <p>Dose this function always return buf.size() or -1?
  if not ,dose it mean I need recall the function to write the left data not be written?</p>
  
  <p>for example, if I have a 100 bytes of QByteBuffer.
  when I call "tcpSocket.write(buf_100_bytes)" , is it possible that I get 60 or something else?</p>
  
  <p>Additionally, dose this function return immediately? </p>