Hi Christian,

I agree that applications should be able to cope with that situation and that 
theres no guarantee about fragmentation in recv(). I will fix the
respective test case and hope no real applications do rely on that behavior. 
I'm OK with leaving the implementation as is.

Thanks!

Cheers,
Alex

On 15.08.2017 11:26, Christian Helmuth wrote:
> Hi Alexander,
> 
> I share your feeling that it may be better to adopt the behavior of
> Linux and Android to stay on safe grounds. But on the other hand, I
> could not find any reference which states that recv() will return a
> complete TCP segment in all cases (only the opposite, e.g., [1]).
> Please correct me if I'm wrong. Therefore, any application relying on
> this fact would be broken. Regarding writev() to the local socket
> buffer most implementations also seems to gather all data from the
> iovec in one run. But, this is hidden from the receiver, which has to
> expect that the data was fragmented on any network layer including the
> syscall interface.
> 
> For these reasons, I suggest we leave the implementation as is for now.
> 
> [1] 
> https://stackoverflow.com/questions/3198049/what-value-will-recv-return-if-it-receives-a-valid-tcp-packet-with-payload-siz
> 
> Greets
> 

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main

Reply via email to