}
}
+ private static class TmfTestTriggerSignal2 extends TmfSignal {
+ public TmfTestTriggerSignal2(Object source) {
+ super(source);
+ }
+ }
+
@TmfSignalHandler
public void trigger(final TmfTestTriggerSignal signal) {
providers[0].sendRequest(request3);
}
+ /**
+ * @param signal
+ * the trigger signal
+ */
+ @TmfSignalHandler
+ public void trigger(final TmfTestTriggerSignal2 signal) {
+ TmfTimeRange range = new TmfTimeRange(new TmfTimestamp(100, -3), TmfTimestamp.BIG_CRUNCH);
+ requestedEvents1 = new Vector<>();
+ request1 = new TmfEventRequest(ITmfEvent.class, range, 0, 1, ExecutionType.FOREGROUND) {
+ @Override
+ public void handleData(ITmfEvent event) {
+ super.handleData(event);
+ if (!isCompleted()) {
+ requestedEvents1.add(event);
+ }
+ }
+ };
+ providers = TmfProviderManager.getProviders(ITmfEvent.class, TmfTraceStub.class);
+ providers[0].sendRequest(request1);
+ }
+
public void runCoalescedRequest(long startIndex) throws InterruptedException {
fTrace = setupTrace(TEST_TRACE.getFullPath());
fTrace = null;
}
+ @Test
+ public void testSingleTimeRequest() throws InterruptedException {
+
+ fTrace = setupTrace(TEST_TRACE.getFullPath());
+
+ TmfSignalManager.register(this);
+ TmfTestTriggerSignal2 signal = new TmfTestTriggerSignal2(this);
+ TmfSignalManager.dispatchSignal(signal);
+
+ request1.waitForCompletion();
+
+ assertTrue("Request1: isCompleted", request1.isCompleted());
+
+ // We have to have one event processed
+ assertEquals("Request1: nbEvents", 1, requestedEvents1.size());
+
+ TmfSignalManager.deregister(this);
+ fTrace.dispose();
+ fTrace = null;
+ }
+
}
request.handleData(null);
} else {
long start = request.getIndex();
- long end = start + request.getNbRequested();
- if (!request.isCompleted() && index >= start && index < end) {
+ if (!request.isCompleted() && index >= start && request.getNbRead() < request.getNbRequested()) {
ITmfTimestamp ts = data.getTimestamp();
if (request.getRange().contains(ts)) {
if (request.getDataType().isInstance(data)) {