3 The framework is organized roughly around these high level component
4 categories. The sublevels indicate the JAWS components that
5 participate in the category.
31 JAWS_THYBRID_Concurrency
32 JAWS_TPOOL_Concurrency
38 The JAWS_Event_Dispatcher remains hidden to the application
39 developer. It is initialized from the main program which is built
40 within the jaws3 subdirectory, and uses ACE_Reactor and
43 The JAWS_Event_Completer is a callback helper class that is used by
44 the JAWS_Event_Dispatcher. A completer is passed into the Event
45 Framework whenever an application developer wants to initiate an
46 event. When the event completes, the completer is called for
49 The JAWS_Event_Result is a class that describes the result of the
50 event for the completer when the completer gets called back.
54 The JAWS_IO class bridges IO event dispatching methods to the
55 JAWS_IO_Impl abstraction. It delegates its IO interfaces to
56 corresponding methods in JAWS_IO_Impl.
58 JAWS_Asynch_IO, JAWS_Synch_IO, and JAWS_Reactive_IO all derive from
59 JAWS_IO_Impl. The usage API for these classes follows an
60 asynchronous usage interface. This enables an application to
61 experiment with different underlying IO implementations to see how
62 it impacts performance without redesigning/rewriting the entire
67 The JAWS_Timer class bridges timer dispatching methods to the
68 JAWS_Timer_Impl abstraction.
70 JAWS_Task_Timer derives from JAWS_Timer_Impl, and uses a task
71 coupled with an ACE_Timer_Wheel to implement timers.
75 The JAWS_Protocol_Handler plays the role of Context in the State
76 pattern, while the JAWS_Protocol_State plays the role of State. The
77 JAWS_Protocol_Handler's service() method delegates to the service()
78 method of an associated JAWS_Protocol_State. In addition, the
79 JAWS_Protocol_Handler also derives from JAWS_Event_Completer.
81 The idea is that the application developer will derive from
82 JAWS_Protocol_State to fill out the programmatical details of their
83 protocol. At the end of the state, an asynchronous event will be
84 initiated, and the state returns the control of the thread back to
85 the framework. When the event completes, the associated
86 JAWS_Protocol_Handler is called back, and it then triggers a call
87 into the JAWS_Protocol_State's transition() method. This method
88 is to return the next state or the protocol. The event completion
89 callback then enqueues itself with one of the concurrency
90 implementations of the Concurrency Framework.
94 The JAWS_Concurrency class bridges concurrency mechanisms to the
95 JAWS_Concurrency_Impl abstraction.
97 JAWS_THYBRID_Concurrency, JAWS_TPOOL_Concurrency and
98 JAWS_TPR_Concurrency derive from JAWS_Concurrency_Impl. They are
99 active objects that dequeue JAWS_Protocol_Handlers and call into
100 their service() methods.