Fragmented IP datagram is re-assembled at the IP layer before it is handed up to UDP or TCP layer.  If it can&#x27;t be re-assembled, the datagram is considered lost.<p>UDP is unreliable and has small packet size.  The TCP code is emulating that simple requirement.  Why expand the requirement?  Looping to read fully would block on one connection.  One rogue client would hold up the whole server.