Regarding the documentation of libcurl on what gb.net is based, the buffer size can be configured from default value 16kB to 512kB.
I'm developing a process in Gambas to receive more than 100000 Flows/sec (maxi 1464 Bytes per Flow) and split those and retransmit those to 3 others processes over Local Socket. There is to many flows to transmit per second over the Local Socket that the buffer size by default is not enough I guess. This is the only reason that I have found.
Maybe my usage of Socket is not correct.
Official Documentation of libCurl:
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_BUFFERSIZE, long size);
Pass a long specifying your preferred size (in bytes) for the receive buffer in libcurl. The main point of this would be that the write callback gets called more often and with smaller chunks. Secondly, for some protocols, there's a benefit of having a larger buffer for performance.
This is just treated as a request, not an order. You cannot be guaranteed to actually get the given size.
This buffer size is by default CURL_MAX_WRITE_SIZE (16kB). The maximum buffer size allowed to be set is CURL_MAX_READ_SIZE (512kB). The minimum buffer size allowed to be set is 1024.