diff options
Diffstat (limited to 'lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfCoalescedEventRequest.java')
-rw-r--r-- | lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfCoalescedEventRequest.java | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfCoalescedEventRequest.java b/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfCoalescedEventRequest.java index 4868d10402..94c8e4c627 100644 --- a/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfCoalescedEventRequest.java +++ b/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfCoalescedEventRequest.java @@ -37,7 +37,7 @@ public class TmfCoalescedEventRequest<T extends TmfEvent> extends TmfCoalescedDa * @param range */ public TmfCoalescedEventRequest(Class<T> dataType) { - this(dataType, TmfTimeRange.Eternity, ALL_DATA, DEFAULT_BLOCK_SIZE, ExecutionType.SHORT); + this(dataType, TmfTimeRange.Eternity, ALL_DATA, DEFAULT_BLOCK_SIZE, ExecutionType.FOREGROUND); } public TmfCoalescedEventRequest(Class<T> dataType, ExecutionType execType) { @@ -48,7 +48,7 @@ public class TmfCoalescedEventRequest<T extends TmfEvent> extends TmfCoalescedDa * @param range */ public TmfCoalescedEventRequest(Class<T> dataType, TmfTimeRange range) { - this(dataType, range, ALL_DATA, DEFAULT_BLOCK_SIZE, ExecutionType.SHORT); + this(dataType, range, ALL_DATA, DEFAULT_BLOCK_SIZE, ExecutionType.FOREGROUND); } public TmfCoalescedEventRequest(Class<T> dataType, TmfTimeRange range, ExecutionType execType) { @@ -60,7 +60,7 @@ public class TmfCoalescedEventRequest<T extends TmfEvent> extends TmfCoalescedDa * @param nbRequested */ public TmfCoalescedEventRequest(Class<T> dataType, TmfTimeRange range, int nbRequested) { - this(dataType, range, nbRequested, DEFAULT_BLOCK_SIZE, ExecutionType.SHORT); + this(dataType, range, nbRequested, DEFAULT_BLOCK_SIZE, ExecutionType.FOREGROUND); } public TmfCoalescedEventRequest(Class<T> dataType, TmfTimeRange range, int nbRequested, ExecutionType execType) { @@ -73,7 +73,7 @@ public class TmfCoalescedEventRequest<T extends TmfEvent> extends TmfCoalescedDa * @param blockSize Size of the largest blocks expected */ public TmfCoalescedEventRequest(Class<T> dataType, TmfTimeRange range, int nbRequested, int blockSize) { - super(dataType, 0, nbRequested, blockSize, ExecutionType.SHORT); + super(dataType, 0, nbRequested, blockSize, ExecutionType.FOREGROUND); fRange = range; } @@ -90,7 +90,6 @@ public class TmfCoalescedEventRequest<T extends TmfEvent> extends TmfCoalescedDa public boolean isCompatible(ITmfDataRequest<T> request) { if (request instanceof ITmfEventRequest<?>) { boolean ok = getNbRequested() == request.getNbRequested(); - ok &= getBlockize() == request.getBlockize(); ok &= getExecType() == request.getExecType(); if (ok) { TmfTimestamp startTime = ((ITmfEventRequest<T>) request).getRange().getStartTime(); @@ -110,19 +109,23 @@ public class TmfCoalescedEventRequest<T extends TmfEvent> extends TmfCoalescedDa // ------------------------------------------------------------------------ @Override - public void handleData() { + public void handleData(T data) { + super.handleData(data); for (ITmfDataRequest<T> request : fRequests) { - if (request instanceof TmfEventRequest<?>) { - TmfEventRequest<T> req = (TmfEventRequest<T>) request; - T[] data = getData(); - TmfTimestamp ts = data[0].getTimestamp(); - if (data.length > 0 && req.getRange().contains(ts)) { - req.setData(data); - req.handleData(); - } - } - else { - super.handleData(); + if (data == null) { + request.handleData(null); + } else { + if (request instanceof TmfEventRequest<?>) { + TmfEventRequest<T> req = (TmfEventRequest<T>) request; + TmfTimestamp ts = data.getTimestamp(); + if (req.getRange().contains(ts)) { + req.handleData(data); + } + } + else { + TmfDataRequest<T> req = (TmfDataRequest<T>) request; + req.handleData(data); + } } } } @@ -163,7 +166,7 @@ public class TmfCoalescedEventRequest<T extends TmfEvent> extends TmfCoalescedDa @Override public String toString() { return "[TmfCoalescedEventRequest(" + getRequestId() + "," + getDataType().getSimpleName() - + "," + getRange() + "," + getNbRequested() + "," + getBlockize() + ")]"; + + "," + getRange() + "," + getNbRequested() + ")]"; } } |