corrected eventrequst so it is in the main window, given to viewers as hook_data...
[lttv.git] / ltt / branches / poly / doc / developer / lttvwindow_events_delivery.txt
index f310dce9973ab29cb7ce1aa682775b83d059b890..081a9805ae4399aaa60e27e578038270231970b8 100644 (file)
@@ -166,13 +166,14 @@ each viewer through process traceset.
 
 - lttvwindow_events_request
 
-It adds the a pointer to the EventsRequest struct to the array of time requests
+It adds the an EventsRequest struct to the array of time requests
 pending and registers a pending request for the next g_idle if none is
-registered. The viewer has to keep a reference to this structure in its own
-instance data structure. Only the stop_flag can be changed by the viewer
-through the event hooks.
+registered. The viewer can access this structure during the read as its
+hook_data. Only the stop_flag can be changed by the viewer through the
+event hooks.
 
 typedef struct _EventsRequest {
+  gpointer                    viewer_data;
   LttTime                     start_time,       /* Unset : { 0, 0 }         */
   LttvTracesetContextPosition start_position,   /* Unset : num_traces = 0   */
   gboolean                    stop_flag,        /* Continue:TRUE Stop:FALSE */
@@ -255,6 +256,10 @@ While list_in !empty and list_out !empty
     4.1 Call process traceset middle (Use end criterion found in 3)
       * note : end criterion can also be viewer's hook returning TRUE
   5. After process traceset middle
+    - if current context time > traceset.end time
+      - For each req in list_in
+        - Call end for req
+        - remove req from list_in
     5.1 For each req in list_in
           - req.num -= count
           - if req.num == 0
This page took 0.024269 seconds and 4 git commands to generate.