-
Enhancement
-
Resolution: Done
-
Major
-
None
-
None
Currently, TP.receive() is passed a byte[] buffer as parameter. This is OK for UDP and TCP_NIO2, however, in TCP we're dealing with a socket input stream.
TcpConnection reads the length, then copies length bytes into a byte[] buffer and finally calls TP.receive() with the byte[] buffer as argument.
The byte[] buffer and the copying of read data into it is superfluous if TP.receive() could also accept input streams as argument.
Therefore introduce an additional TP.receive(InputStream in, int offset, int length, which reads directly from the socket's input stream and gets rid of the intermediate byte buffer.