Check out the new USENIX Web site. next up previous
Next: Alerting the Processors Up: The architecture of the Previous: Verifying a Request

Servicing a Request


  
Figure 10: Internal Structure of ServiceReq
\begin{figure}\psfig{figure=figs/10-ServiceReq.eps,width=3in}\end{figure}

The START event and IN_PRG flag are received/read by the ServiceReq Triveni process, which is responsible for servicing the request. The internal structure of ServiceReq is depicted in Figure 10. The ProcessReq Triveni process waits for the START event and first sets a timer for the maximum amount of time that may be spent servicing a single request. This timer is set using the event TOTAL_TIMER; the events TOTAL_TIMER_EXPIRED and TOTAL_TIMER_CLEAR, respectively, indicate the expiration or clearing of this timer. The TOTAL_TIMER_EXPIRED event is of high-priority: in particular, upon receipt of this event, the current request, if active, is aborted, the event DONE is sent to VerifyReq and its internal Triveni processes, StartProcess resets the IN_PRG flag, and CheckReq starts accepting new requests. This form of process abortion is expressed using the JavaTriveni DoWatching construct in the ProcessReq module. This gives high-priority to the TOTAL_TIMER_EXPIRED event, while allowing the rest of the Collection Software to remain unpolluted by information about this event.


next up previous
Next: Alerting the Processors Up: The architecture of the Previous: Verifying a Request
1998-03-16