From bd47fd629bb2356df93af70b174a6a070f3a58cc Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Tue, 5 Aug 2008 17:03:16 +0000 Subject: * revised approach for setting tcp-nodelay on client to avoid breaking platform abstractions * added ability to set tcp-nodelay on server side of the socket also Merged from r682785. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@682791 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/sys/posix/Socket.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'cpp/src/qpid/sys/posix') diff --git a/cpp/src/qpid/sys/posix/Socket.cpp b/cpp/src/qpid/sys/posix/Socket.cpp index 65345219f0..415d5293ef 100644 --- a/cpp/src/qpid/sys/posix/Socket.cpp +++ b/cpp/src/qpid/sys/posix/Socket.cpp @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -251,9 +252,13 @@ int Socket::getError() const return result; } -void Socket::configure(const Configuration& c) +void Socket::setTcpNoDelay(bool nodelay) const { - c.configurePosixTcpSocket(impl->fd); + if (nodelay) { + int flag = 1; + int result = setsockopt(impl->fd, IPPROTO_TCP, TCP_NODELAY, (char *)&flag, sizeof(flag)); + QPID_POSIX_CHECK(result); + } } }} // namespace qpid::sys -- cgit v1.2.1