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()) {
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
@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$
}