hooks with priority, process traceset with strict boundaries and lttvwindow event...
[lttv.git] / ltt / branches / poly / doc / developer / hook_prio.txt
CommitLineData
6ea2aecb 1Linux Trace Toolkit
2
3Mathieu Desnoyers 18-05-2004
4
5
6Seeing that a very precise hook call ordering is needed when processing events
7(especially the order for calling state update hooks and event delivery hooks),
8this document defines a new type and interface that permits to merge all kind of
9hooks, eventually sorted by the priority associated to them.
10
11As the LttvHooksById has never been used up to this point in the project, I
12doubt that any real need for it exists. If we still want to implement it, it
13would require to create temporary by_id hook lists, add all the specific by_id
14hooks and the main hooks to it, and sort it before the traceset reading starts.
15
16- Type LttvHooksPrio
17
18This is a new type containing hooks associated with a priority. It has its own
19interface which pretty much looks like the one found in hook.h, plus the fact
20that a priority is associated with each hook. (lttv_hooks_prio_add,
21lttv_hooks_prio_call, lttv_hooks_prio_remove are sample names of functions
22offered by this interface) The container for this type would be a garray, just
23like hook.c, but a lttv_hooks_prio_sort would be required in order to sort the
24array before using lttv_hooks_prio_call.
25
26The viewers will just have to pass hooks to the main window through this type,
27using the hookprio.h interface to manipulate it. Then, the main window will add
28them and remove them from the context to deliver exactly the events requested by
29each viewer through process traceset.
30
31If we want to make this data type more encapsulated, we could call
32lttv_hooks_prio_sort upon each modification to the structure. Then, a simple
33lttv_hooks_prio_call would be assured to call the hooks in the right order.
34
35
This page took 0.023921 seconds and 4 git commands to generate.