Fix for streaming and reconnection. Added standalone releng for lttng.
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.core / src / org / eclipse / linuxtools / tmf / core / component / TmfDataProvider.java
index 526bc8f145f047f1462943986f4ff7830ba37367..78be90757c6b6cd6396c69a0a6d3353cce763fca 100644 (file)
@@ -197,7 +197,7 @@ public abstract class TmfDataProvider<T extends TmfData> extends TmfComponent im
 
     protected void newCoalescedDataRequest(ITmfDataRequest<T> request) {
         synchronized (fLock) {
-            TmfCoalescedDataRequest<T> coalescedRequest = new TmfCoalescedDataRequest<T>(fType, request.getIndex(),
+            TmfCoalescedDataRequest<T> coalescedRequest = new TmfCoalescedDataRequest<T>(request.getDataType(), request.getIndex(),
                     request.getNbRequested(), request.getBlockSize(), request.getExecType());
             coalescedRequest.addRequest(request);
             if (Tracer.isRequestTraced()) {
@@ -271,7 +271,9 @@ public abstract class TmfDataProvider<T extends TmfData> extends TmfComponent im
                     while (data != null && !isCompleted(request, data, nbRead)) {
                         if (fLogData)
                             Tracer.traceEvent(provider, request, data);
-                        request.handleData(data);
+                        if (request.getDataType().isInstance(data)) {
+                            request.handleData(data);
+                        }
 
                         // To avoid an unnecessary read passed the last data
                         // requested
@@ -332,7 +334,9 @@ public abstract class TmfDataProvider<T extends TmfData> extends TmfComponent im
                         @Override
                         public void handleData(T data) {
                             super.handleData(data);
-                            request.handleData(data);
+                            if (request.getDataType().isInstance(data)) {
+                                request.handleData(data);
+                            }
                             if (getNbRead() > CHUNK_SIZE[0]) {
                                 System.out.println("ERROR - Read too many events"); //$NON-NLS-1$
                             }
This page took 0.025613 seconds and 5 git commands to generate.