Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2009-06-05 10:19:01 +0000
committerEike Stepper2009-06-05 10:19:01 +0000
commit705977fa53952a5324e5235d806ddd32a1f31898 (patch)
treecbe78ec8601b9aad0ee4c49878ad7e20b6eeb483 /plugins
parent0534373b3b4709182214b03ead82a04fa5b18477 (diff)
downloadcdo-705977fa53952a5324e5235d806ddd32a1f31898.tar.gz
cdo-705977fa53952a5324e5235d806ddd32a1f31898.tar.xz
cdo-705977fa53952a5324e5235d806ddd32a1f31898.zip
[242005] Provide a HeartBeatPotocol
https://bugs.eclipse.org/bugs/show_bug.cgi?id=242005
Diffstat (limited to 'plugins')
-rw-r--r--plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/SignalTest.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/SignalTest.java b/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/SignalTest.java
index e389f1faf3..29343c6723 100644
--- a/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/SignalTest.java
+++ b/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/SignalTest.java
@@ -11,14 +11,19 @@
package org.eclipse.net4j.tests;
import org.eclipse.net4j.connector.IConnector;
+import org.eclipse.net4j.internal.tcp.TCPConnector;
import org.eclipse.net4j.tests.data.TinyData;
import org.eclipse.net4j.tests.signal.ArrayRequest;
import org.eclipse.net4j.tests.signal.AsyncRequest;
import org.eclipse.net4j.tests.signal.IntRequest;
import org.eclipse.net4j.tests.signal.StringRequest;
import org.eclipse.net4j.tests.signal.TestSignalProtocol;
+import org.eclipse.net4j.util.ReflectUtil;
import org.eclipse.net4j.util.om.OMPlatform;
+import java.io.IOException;
+import java.lang.reflect.Field;
+import java.nio.channels.SocketChannel;
import java.util.Arrays;
/**
@@ -98,4 +103,33 @@ public class SignalTest extends AbstractProtocolTest
}
}
}
+
+ public void testCloseSocketChannel() throws Exception
+ {
+ TestSignalProtocol protocol = null;
+
+ try
+ {
+ IConnector connector = startTransport();
+ protocol = new TestSignalProtocol(connector);
+
+ closeSocketChannel((TCPConnector)getAcceptor().getAcceptedConnectors()[0]);
+ sleep(1000);
+ assertEquals(false, protocol.isActive());
+ }
+ finally
+ {
+ if (protocol != null)
+ {
+ protocol.close();
+ }
+ }
+ }
+
+ private void closeSocketChannel(TCPConnector connector) throws IOException
+ {
+ Field field = ReflectUtil.getField(TCPConnector.class, "socketChannel");
+ SocketChannel socketChannel = (SocketChannel)ReflectUtil.getValue(field, connector);
+ socketChannel.close();
+ }
}

Back to the top