1.8. Behaviour of TCP/IP Connections

There are several methods to fine-tune the behaviour of TCP/IP connections. In case you need even more control you must retrieve the current file handle with getHandle() or getServerHandle() and call the appropriate operating system call.

ulxmlrpcpp tries to remain portable over all common platforms. Unfortunately the following function may differ slightly on platforms. When using the above mentioned handles on more specialized behaviour you might become even more non-portable.

1.8.1. Disabling Buffer Mechanism

Under normal circumstances the TCP stack tries to buffer data and send optimal large packets. So data is sent when either the buffer is full or some timeout expires.

Unfortunately this behaviour might slowdown your XML-RPC transactions as there are often rather small packets below the buffer threshold. Then each transaction is delayed some time. If you experience a significant slowdown and even have low system load you might disable the buffer mechanism with setTcpNoDelay(true). In this case all data is sent immediately even if the size is smaller than the optimal transmission size of the network connection.