Master-side event handlers are only used in HW-HW communication, whereas the slave-side event handlers are used in both SW-HW and HW-HW communications.
The Data Notify event handlers are executed as a result of change in status of the buffer located in the channel interface module, for example, when the buffer becomes empty (read-side interface) or the buffer becomes filled with data (write-side interface).
The Start Access event handlers are executed whenever a HW task starts accessing the channel; thus they update the Channel Control Table with the information about the access.
The measured total overhead per event (as calculated from the slowdown of the Web server in the presence of the additional events) was found to be independent of the event frequency in this experiment.(5) Table I shows the total overhead per (null) event handler invocation, for the various machines and timers.
Alpha-500 8253/PII-300 Overhead (/[micro]sec) 8.64 4.45 8253/PIII-500 APIC/PIII-500 Overhead (/[micro]sec) 4.36 0.8 Soft Timers Overhead (/[micro]sec) [approximately equal] 0 The results show that the overhead per event handler invocation with the off-chip hardware timers is substantial, and ranges from 8.64 [micro] secs on the Alpha machine to 4.36 [micro] secs on the 500MHz PIII machine.
The above experiment still does not fully expose the cost of timer events in a real application, because the null event handler makes no memory references.
Additional Key Words and Phrases: Configurable services, customization, event-driven execution, event handlers, membership, mobile computing, microprotocols, modularity, multicast, protocols, remote procedure call, x-kernel.
Microprotocols are structured using events and event handlers, which enhance configurability by minimizing explicit references between modules.
Internally, the framework implements an event-driven execution paradigm, in which event handlers within microprotocols are executed whenever events for which they are registered--for example, message arrival or a timeout--occur [Hiltunen and Schlichting 1993].
* Concrete Event Handler, which implements the customized callback method(s) that process events in an application-specific manner.
The virtual methods provided by the Event Handler base class are Template Methods .
A library of standard event handlers
that implement dragging, highlighting and other basic behaviors is also provided.