Is possible that i speak bad English.
but iRcvBufSize/iSndBufSize are imperatively needed without it we will need to call every transfer to getsockopt to know the system buffer Snd and Rcv to know his size. If we use 1400 hard coded then the code can produce GPF. (now it is removed) Now we remove this unneeded fragmentation increasing buffer as possible, using system default values saved at iRcvBufSize/iSndBufSize. Now you can too try to increase this values to to make packets bigger or lower. But never use hard coded 1400 because the system can put a minor default buffer size. Or system can works too slow to works with full buffer. Now is corrected and we now use the correct buffer size. You prefer to call every time to getsockopt to known the buffer size or you prefer to use iRcvBufSize/iSndBufSize, technically is the same. We need to know it to protect the transfer. we now use this values (iRcvBufSize/iSndBufSize) to establish the buffer transfer at the different protocols, than always will be lower than iRcvBufSize/iSndBufSize. but you can't use another buffer size without a risk of GPF. Actually code is tested at the last 4 months without GPF or other problems. Of course, it can be better if at the future we can use MT to make asynchronous transfers or use too multi socket transfers to accelerate it. We had serious problems of transfer speed, and now is solved and without GPF or lost data. Best regards, Miguel Angel Marchuet _______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour