[Sumover-dev] [svn commit] r4681 - vic/branches/mpeg4/net
sumover-dev at cs.ucl.ac.uk
sumover-dev at cs.ucl.ac.uk
Sun Mar 7 22:36:12 GMT 2010
Author: douglask
Date: Sun Mar 7 22:36:12 2010
New Revision: 4681
Modified:
vic/branches/mpeg4/net/net-ip.cpp
Log:
Set network buffer size to 1024, if not sucessful, divide by 2 until a size that is able to be allocated
Modified: vic/branches/mpeg4/net/net-ip.cpp
==============================================================================
--- vic/branches/mpeg4/net/net-ip.cpp (original)
+++ vic/branches/mpeg4/net/net-ip.cpp Sun Mar 7 22:36:12 2010
@@ -476,14 +476,13 @@
}
/*
* XXX don't need this for the session socket.
- */
- int bufsize = 80 * 1024;
- if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, (char *)&bufsize,
- sizeof(bufsize)) < 0) {
- bufsize = 32 * 1024;
+ */
+ for (int bufsize = 1024 * 1024; bufsize >= 32 * 1024; bufsize /= 2) {
if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, (char *)&bufsize,
- sizeof(bufsize)) < 0)
- perror("SO_RCVBUF");
+ sizeof(bufsize)) >= 0)
+ {
+ break;
+ }
}
return (fd);
}
@@ -592,13 +591,12 @@
/*
* XXX don't need this for the session socket.
*/
- int bufsize = 80 * 1024;
- if (setsockopt(fd, SOL_SOCKET, SO_SNDBUF, (char *)&bufsize,
- sizeof(bufsize)) < 0) {
- bufsize = 48 * 1024;
- if (setsockopt(fd, SOL_SOCKET, SO_SNDBUF, (char *)&bufsize,
- sizeof(bufsize)) < 0)
- perror("SO_SNDBUF");
+ for (int bufsize = 1024 * 1024; bufsize >= 32 * 1024; bufsize /= 2) {
+ if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, (char *)&bufsize,
+ sizeof(bufsize)) >= 0)
+ {
+ break;
+ }
}
return (fd);
}
@@ -607,7 +605,7 @@
{
memset((char *)&sin, 0, sizeof(sin));
sin.sin_family = AF_UNSPEC;
- return connect(fd, (struct sockaddr *)&sin, sizeof(sin));
+ return connect(fd, (struct sockaddr *)&sin, sizeof(sin));
}
More information about the Sumover-dev
mailing list