]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - tests/org.simantics.db.tests/src/org/simantics/db/tests/performance/read/ReadHierarchicalNames.java
Multiple reader thread support for db client
[simantics/platform.git] / tests / org.simantics.db.tests / src / org / simantics / db / tests / performance / read / ReadHierarchicalNames.java
index 974cc71049f92e0da38b3ead19ef3dee5fa4198c..6e2231fb5d04aa052020945a6d3db52fc8814b30 100644 (file)
@@ -17,6 +17,7 @@ import org.simantics.db.Session;
 import org.simantics.db.common.TransactionPolicyKeep;
 import org.simantics.db.common.procedure.adapter.ListenerAdapter;
 import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.request.AsyncRead;
 import org.simantics.db.request.Read;
 import org.simantics.db.request.WriteOnlyResult;
 import org.simantics.db.service.ClusterControl;
@@ -80,6 +81,17 @@ public class ReadHierarchicalNames extends ExistingDatabaseTest {
 
        }
 
+       private void time(String label, AsyncRead<Object> request) throws DatabaseException {
+
+               long start = System.nanoTime();
+               getSession().syncRequest(request);
+               long duration = System.nanoTime() - start;
+               System.out.println(label + " = " + 1e-9*duration);
+
+               HierarchicalNames.validate();
+
+       }
+
        private void time(String label, Read<Object> request) throws DatabaseException {
 
                long start = System.nanoTime();
@@ -94,7 +106,12 @@ public class ReadHierarchicalNames extends ExistingDatabaseTest {
        private void listenTime(String label, Read<Object> request) throws DatabaseException {
 
                long start = System.nanoTime();
-               getSession().syncRequest(request, new ListenerAdapter<Object>());
+               getSession().syncRequest(request, new ListenerAdapter<Object>() {
+                       @Override
+                       public boolean isDisposed() {
+                               return false;
+                       }
+               });
                long duration = System.nanoTime() - start;
                System.out.println(label + " = " + 1e-9*duration);