mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-23 00:41:02 +00:00
test code for network send/receive buffers
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37253 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
2810bad5f1
commit
f4270e4e0f
1 changed files with 38 additions and 0 deletions
|
@ -597,6 +597,8 @@ NSString * const GSSOCKSRecvAddr = @"GSSOCKSRecvAddr";
|
|||
{
|
||||
static NSString *esocks = nil;
|
||||
static NSString *dsocks = nil;
|
||||
static int rbuf = 0;
|
||||
static int sbuf = 0;
|
||||
static BOOL beenHere = NO;
|
||||
int net;
|
||||
struct sockaddr sin;
|
||||
|
@ -625,6 +627,10 @@ NSString * const GSSOCKSRecvAddr = @"GSSOCKSRecvAddr";
|
|||
}
|
||||
esocks = [esocks copy];
|
||||
}
|
||||
/* Hack for network testing.
|
||||
*/
|
||||
rbuf = (int)[defs integerForKey: @"GSTcpRcvBuf"];
|
||||
sbuf = (int)[defs integerForKey: @"GSTcpSndBuf"];
|
||||
}
|
||||
|
||||
if (a == nil || [a isEqualToString: @""])
|
||||
|
@ -743,6 +749,38 @@ NSString * const GSSOCKSRecvAddr = @"GSSOCKSRecvAddr";
|
|||
status = 1;
|
||||
setsockopt(net, SOL_SOCKET, SO_KEEPALIVE, (char *)&status, sizeof(status));
|
||||
|
||||
/* Hack for network testing ... allow explicit setting of the socket
|
||||
* receive and send buffer sizes
|
||||
*/
|
||||
if (rbuf > 0)
|
||||
{
|
||||
/* Set the receive buffer for the socket.
|
||||
*/
|
||||
if (setsockopt(net, SOL_SOCKET, SO_RCVBUF,
|
||||
(char *)&rbuf, sizeof(rbuf)) < 0)
|
||||
{
|
||||
NSLog(@"Failed to set GSTcpRcvBuf %d: %@", rbuf, [NSError _last]);
|
||||
}
|
||||
else
|
||||
{
|
||||
NSLog(@"Set GSTcpRcvBuf %d", rbuf);
|
||||
}
|
||||
}
|
||||
if (sbuf > 0)
|
||||
{
|
||||
/* Set the send buffer for the socket.
|
||||
*/
|
||||
if (setsockopt(net, SOL_SOCKET, SO_SNDBUF,
|
||||
(char *)&sbuf, sizeof(sbuf)) < 0)
|
||||
{
|
||||
NSLog(@"Failed to set GSTcpSndBuf %d: %@", sbuf, [NSError _last]);
|
||||
}
|
||||
else
|
||||
{
|
||||
NSLog(@"Set GSTcpSndBuf %d", sbuf);
|
||||
}
|
||||
}
|
||||
|
||||
if (lhost != nil)
|
||||
{
|
||||
if (bind(net, &lsin, GSPrivateSockaddrLength(&lsin)) == -1)
|
||||
|
|
Loading…
Reference in a new issue