Updated to version 2.10

The smb_receive_raw() function in "sock.c" again copies the NetBIOS header into the receive buffer separately, rolling back an earlier change which did not seem to be sound, and also served to make complicated code even more complicated :-/

Added the SCATTERGATHER tuning option which defaults to "no". Instead of breaking down write operations into two separate send() calls (one short, one very large), setting SCATTERGATHER=yes can call sendmsg() instead which allows the entire operation to be completed in one single step. This approach was suggested by Patrik Axelsson. Currently, I am uncertain if all AmiTCP V3/V4 TCP/IP stacks implement sendmsg() for TCP sockets in the same consistent manner, which is why this feature is not enabled by default.
This commit is contained in:
obarthel
2018-12-29 10:46:35 +01:00
parent d0250562c3
commit 781ed01675
8 changed files with 472 additions and 349 deletions
+1
View File
@@ -33,6 +33,7 @@ struct smb_server
both in a single combined send() operation
rather than separately. */
dword smb_read_threshold; /* Same as above, but for recv() operations. */
int scatter_gather; /* Use sendmsg() rather than send() where useful? */
int tcp_no_delay; /* Disable the Nagle algorithm for send()? */
int socket_receive_buffer_size; /* Desired socket receive buffer size, if > 0. */
int socket_send_buffer_size; /* Desired socket transmit buffer size, if > 0. */