2010-09-17 Francois Chouinard <fchouinard@gmail.com> Contribution for Bug325662
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf / src / org / eclipse / linuxtools / tmf / trace / TmfTrace.java
index 2d15f9f6a994373d065d47d27c44bce24bd62d9c..5788325e48d93b96159cab851d5c1a0b6572f792 100644 (file)
@@ -23,12 +23,6 @@ import org.eclipse.linuxtools.tmf.event.TmfTimeRange;
 import org.eclipse.linuxtools.tmf.event.TmfTimestamp;
 import org.eclipse.linuxtools.tmf.request.ITmfDataRequest;
 import org.eclipse.linuxtools.tmf.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.request.TmfDataRequest;
-import org.eclipse.linuxtools.tmf.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.request.ITmfDataRequest.ExecutionType;
-import org.eclipse.linuxtools.tmf.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.signal.TmfTraceOpenedSignal;
-import org.eclipse.linuxtools.tmf.signal.TmfTraceUpdatedSignal;
 
 /**
  * <b><u>TmfTrace</u></b>
@@ -380,171 +374,73 @@ public abstract class TmfTrace<T extends TmfEvent> extends TmfEventProvider<T> i
     // Indexing
     // ------------------------------------------------------------------------
 
-       /*
-        * The purpose of the index is to keep the information needed to rapidly
-        * restore the traces contexts at regular intervals (every INDEX_PAGE_SIZE
-        * event).
-        */
-
-       @SuppressWarnings("unchecked")
-       private void indexTrace(boolean waitForCompletion) {
-
-               fCheckpoints.clear();
-               
-               ITmfEventRequest<TmfEvent> request = new TmfEventRequest<TmfEvent>(TmfEvent.class, TmfTimeRange.Eternity, TmfDataRequest.ALL_DATA, 1, ITmfDataRequest.ExecutionType.BACKGROUND) {
-
-                       TmfTimestamp startTime =  null;
-                       TmfTimestamp lastTime  =  null;
-
-                       @Override
-                       public void handleData() {
-                               TmfEvent[] events = getData();
-                               if (events.length > 0) {
-                                       TmfTimestamp ts = events[0].getTimestamp();
-                                       if (startTime == null) {
-                                               startTime = new TmfTimestamp(ts);
-                                               fStartTime = startTime;
-                                       }
-                                       lastTime = new TmfTimestamp(ts);
-
-                                       if ((fNbRead % DEFAULT_INDEX_PAGE_SIZE) == 0) {
-                                               updateTraceData();
-                                       }
-                               }
-                       }
-
-                       @Override
-                       public void handleSuccess() {
-                               updateTraceData();
-                       }
-
-                       private void updateTraceData() {
-                               if (fNbRead != 0) {
-                                       fEndTime  = new TmfTimestamp(lastTime);
-                                       fNbEvents = fNbRead;
-                                       notifyListeners();
-                               }
-                       }
-               };
-
-               sendRequest((ITmfDataRequest<T>) request);
-               if (waitForCompletion)
-                       try {
-                               request.waitForCompletion();
-                       } catch (InterruptedException e) {
-                               e.printStackTrace();
-                       }
-       }
+//     /*
+//      * The purpose of the index is to keep the information needed to rapidly
+//      * restore the traces contexts at regular intervals (every INDEX_PAGE_SIZE
+//      * event).
+//      */
+//
+//     @SuppressWarnings({ "unchecked", "unused" })
+//     private void indexTrace(boolean waitForCompletion) {
+//
+//             fCheckpoints.clear();
+//             
+//             ITmfEventRequest<TmfEvent> request = new TmfEventRequest<TmfEvent>(TmfEvent.class, TmfTimeRange.Eternity, TmfDataRequest.ALL_DATA, 1, ITmfDataRequest.ExecutionType.BACKGROUND) {
+//
+//                     TmfTimestamp startTime =  null;
+//                     TmfTimestamp lastTime  =  null;
+//
+//                     @Override
+//                     public void handleData() {
+//                             TmfEvent[] events = getData();
+//                             if (events.length > 0) {
+//                                     TmfTimestamp ts = events[0].getTimestamp();
+//                                     if (startTime == null) {
+//                                             startTime = new TmfTimestamp(ts);
+//                                             fStartTime = startTime;
+//                                     }
+//                                     lastTime = new TmfTimestamp(ts);
+//
+//                                     if ((fNbRead % DEFAULT_INDEX_PAGE_SIZE) == 0) {
+//                                             updateTraceData();
+//                                     }
+//                             }
+//                     }
+//
+//                     @Override
+//                     public void handleSuccess() {
+//                             updateTraceData();
+//                     }
+//
+//                     private void updateTraceData() {
+//                             if (fNbRead != 0) {
+//                                     fEndTime  = new TmfTimestamp(lastTime);
+//                                     fNbEvents = fNbRead;
+//                                     notifyListeners();
+//                             }
+//                     }
+//             };
+//
+//             sendRequest((ITmfDataRequest<T>) request);
+//             if (waitForCompletion)
+//                     try {
+//                             request.waitForCompletion();
+//                     } catch (InterruptedException e) {
+//                             e.printStackTrace();
+//                     }
+//     }
        
-       protected void notifyListeners() {
-       broadcast(new TmfTraceUpdatedSignal(this, this, new TmfTimeRange(fStartTime, fEndTime)));
-       }
+//     protected void notifyListeners() {
+//     broadcast(new TmfTraceUpdatedSignal(this, this, new TmfTimeRange(fStartTime, fEndTime)));
+//     }
    
        // ------------------------------------------------------------------------
        // TmfDataProvider
        // ------------------------------------------------------------------------
 
-       @Override
-       protected void queueBackgroundRequest(final ITmfDataRequest<T> request, final int blockSize, final boolean indexing) {
-
-               // TODO: Handle the data requests also...
-               if (!(request instanceof ITmfEventRequest<?>)) {
-                       super.queueRequest(request);
-                       return;
-               }
-               final ITmfEventRequest<T> eventRequest = (ITmfEventRequest<T>) request;
-
-               Thread thread = new Thread() {
-                       @Override
-                       public void run() {
-                               
-//                             final long requestStart = System.nanoTime();
-
-                               final Integer[] CHUNK_SIZE = new Integer[1];
-                               CHUNK_SIZE[0] = blockSize + ((indexing) ? 1 : 0);
-                               
-                               final Integer[] nbRead = new Integer[1];
-                               nbRead[0] = 0;
-
-//                             final TmfTimestamp[] timestamp = new TmfTimestamp[1];
-//                             timestamp[0] = new TmfTimestamp(eventRequest.getRange().getStartTime());
-//                             final TmfTimestamp endTS = eventRequest.getRange().getEndTime();
-
-                               final Boolean[] isFinished = new Boolean[1];
-                               isFinished[0] = Boolean.FALSE;
-
-                               while (!isFinished[0]) {
-
-//                                     TmfEventRequest<T> subRequest = new TmfEventRequest<T>(eventRequest.getDataType(), new TmfTimeRange(timestamp[0], endTS), CHUNK_SIZE[0], eventRequest.getBlockize(), ExecutionType.BACKGROUND)
-                                       TmfDataRequest<T> subRequest = new TmfDataRequest<T>(eventRequest.getDataType(), nbRead[0], CHUNK_SIZE[0], eventRequest.getBlockize(), ExecutionType.BACKGROUND)
-                                       {
-//                                             int count = 0;
-                                               @Override
-                                               public void handleData() {
-                                                       T[] data = getData();
-//                                                     timestamp[0] = data[data.length-1].getTimestamp();
-//                                                     if (count == 0) {
-//                                                             System.out.println("First event of the block: " + data[0].getTimestamp());
-//                                                     }
-//                                                     count++;
-//                                                     Tracer.trace("Ndx: " + ((TmfEvent) data[0]).getTimestamp());
-                                                       eventRequest.setData(data);
-                                                       eventRequest.handleData();
-                                                       if (fNbRead == CHUNK_SIZE[0]) {
-                                                               nbRead[0] += fNbRead;
-//                                                             System.out.println("fNbRead=" + fNbRead + ", count=" + count +", total=" + nbRead[0] + ", TS=" + data[0].getTimestamp());
-                                                       }
-                                                       if (fNbRead > CHUNK_SIZE[0]) {
-                                                               System.out.println("ERROR - Read too many events");
-                                                       }
-                                               }
-                                               @Override
-                                               public void handleCompleted() {
-//                                                     System.out.println("Request completed at: " + timestamp[0]);
-                                                       if (fNbRead < CHUNK_SIZE[0]) {
-                                                               eventRequest.done();
-                                                               isFinished[0] = Boolean.TRUE;
-                                                               nbRead[0] += fNbRead;
-//                                                             System.out.println("fNbRead=" + fNbRead + ", count=" + count +", total=" + nbRead[0]);
-                                                       }
-                                                       super.handleCompleted();
-                                               }
-                                       };
-
-                                       if (!isFinished[0]) {
-                                               queueRequest(subRequest);
-
-                                               try {
-                                                       subRequest.waitForCompletion();
-//                                                     System.out.println("Finished at " + timestamp[0]);
-                                               } catch (InterruptedException e) {
-                                                       e.printStackTrace();
-                                               }
-
-//                                             TmfTimestamp newTS = new TmfTimestamp(timestamp[0].getValue() + 1, timestamp[0].getScale(), timestamp[0].getPrecision());
-//                                             timestamp[0] = newTS;
-                                               CHUNK_SIZE[0] = blockSize;
-//                                             System.out.println("New timestamp: " + timestamp[0]);
-                                       }
-                               }
-//                             final long requestEnded = System.nanoTime();
-//                             System.out.println("Background request completed. Elapsed= " + (requestEnded * 1.0 - requestStart) / 1000000000);
-                       }
-               };
-
-               thread.start();
-       }
-
-       // ------------------------------------------------------------------------
-       // Signal handlers
-       // ------------------------------------------------------------------------
-
-       @TmfSignalHandler
-       public void traceOpened(TmfTraceOpenedSignal signal) {
-           ITmfTrace trace = signal.getTrace();
-           if (trace == this) {
-               indexTrace(false);
-           }
-       }
+//     @Override
+//    protected void queueBackgroundRequest(final ITmfDataRequest<T> request, final int blockSize, final boolean adjust) {
+//             super.queueBackgroundRequest(request, fIndexPageSize, true);
+//    }
 
 }
This page took 0.029706 seconds and 5 git commands to generate.