From 6439bba5cc09d6febc59bdc9e0d9bc25f1f1eb18 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Wed, 01 Sep 2010 09:04:15 +0000
Subject: [PATCH] Various improvements:
---
sdk/src/com/sun/opends/sdk/ldap/GlobalTransportFactory.java | 32 +++++++++++++++++++++++++++++++-
1 files changed, 31 insertions(+), 1 deletions(-)
diff --git a/sdk/src/com/sun/opends/sdk/ldap/GlobalTransportFactory.java b/sdk/src/com/sun/opends/sdk/ldap/GlobalTransportFactory.java
index b3e1279..85d102d 100644
--- a/sdk/src/com/sun/opends/sdk/ldap/GlobalTransportFactory.java
+++ b/sdk/src/com/sun/opends/sdk/ldap/GlobalTransportFactory.java
@@ -76,6 +76,12 @@
private int selectors;
+ private int linger = -1;
+
+ private boolean tcpNoDelay = true;
+
+ private boolean reuseAddress = true;
+
private TCPNIOTransport globalTCPNIOTransport = null;
@@ -117,12 +123,15 @@
* @return instance of TCP {@link com.sun.grizzly.Transport}.
*/
@Override
- public TCPNIOTransport createTCPTransport()
+ public synchronized TCPNIOTransport createTCPTransport()
{
if (globalTCPNIOTransport == null)
{
globalTCPNIOTransport = setupTransport(new TCPNIOTransport());
globalTCPNIOTransport.setSelectorRunnersCount(selectors);
+ globalTCPNIOTransport.setLinger(linger);
+ globalTCPNIOTransport.setTcpNoDelay(tcpNoDelay);
+ globalTCPNIOTransport.setReuseAddress(reuseAddress);
try
{
@@ -178,6 +187,27 @@
ThreadPoolConfig.DEFAULT.setMaxPoolSize(threads);
ThreadPoolConfig.DEFAULT.setPoolName("OpenDS SDK Worker(Grizzly)");
+ final String lingerStr = System
+ .getProperty("org.opends.sdk.ldap.transport.linger");
+ if (lingerStr != null)
+ {
+ linger = Integer.parseInt(lingerStr);
+ }
+
+ final String tcpNoDelayStr = System
+ .getProperty("org.opends.sdk.ldap.transport.tcpNoDelay");
+ if (tcpNoDelayStr != null)
+ {
+ tcpNoDelay = Integer.parseInt(tcpNoDelayStr) != 0;
+ }
+
+ final String reuseAddressStr = System
+ .getProperty("org.opends.sdk.ldap.transport.reuseAddress");
+ if (reuseAddressStr != null)
+ {
+ reuseAddress = Integer.parseInt(reuseAddressStr) != 0;
+ }
+
super.initialize();
}
}
--
Gitblit v1.10.0