Pacchetti Tcp che utilizzano QTcpSocket

So che TCP garantisce che tutti i pacchetti arriveranno. Ma un pacchetto può essere separato in 2 o più? Sto usando Qt con la class QTcpSocket, e voglio sapere che il segnale ReadyRead() viene emesso solo quando arriva il pacchetto completo. O in altre parole, ha senso inviare la dimensione del pacchetto nei primi byte e poi attendere il ciclo finché non sono arrivati ​​tutti i byte? Oppure posso chiamare socket->readAll() e devo ottenere un pacchetto completo?