Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# TAO_LF_Strategy Class Reference

Strategize Leader/Follower manipulations in the ORB event loop. More...

`#include <LF_Strategy.h>`

Inheritance diagram for TAO_LF_Strategy:

[legend]
List of all members.

## Public Methods
virtual | ~TAO_LF_Strategy (void)
| Destructor. More...
virtual void | set_upcall_thread (TAO_Leader_Follower &)=0
| The current thread will handle an upcall. More...
virtual int | set_event_loop_thread (ACE_Time_Value *max_wait_time, TAO_Leader_Follower &)=0
| The current thread is entering the reactor event loop. More...
virtual void | reset_event_loop_thread (int call_reset, TAO_Leader_Follower &)=0
| The current thread is leaving the event loop. More...

## Detailed Description

Strategize Leader/Follower manipulations in the ORB event loop.

The ORB event loop must participate in the Leader/Followers protocol, but only if that concurrency model is configured, otherwise performance suffers.

This class strategizes the ORB behavior in this respect.

## Constructor & Destructor Documentation

TAO_LF_Strategy::~TAO_LF_Strategy | ( | void |  | ) | `[virtual]`

| Destructor.

## Member Function Documentation

virtual void TAO_LF_Strategy::reset_event_loop_thread | ( | int | call_reset,
|  | TAO_Leader_Follower & | lf
| ) | `[pure virtual]`

| The current thread is leaving the event loop. When the thread leaves the event loop a new leader must be elected. Reimplemented in TAO_LF_Strategy_Complete.

virtual int TAO_LF_Strategy::set_event_loop_thread | ( | ACE_Time_Value * | tv,
|  | TAO_Leader_Follower & | lf
| ) | `[pure virtual]`

| The current thread is entering the reactor event loop. Threads that block in the reactor event loop become "server" threads for the Leader/Follower set. They must be flagged specially because they do not wait for one specific event, but for any event whatsoever. Reimplemented in TAO_LF_Strategy_Complete.

virtual void TAO_LF_Strategy::set_upcall_thread | ( | TAO_Leader_Follower & | lf | ) | `[pure virtual]`

| The current thread will handle an upcall. Threads that handle requests can block for long periods of time, causing deadlocks if they don't elect a new leader before starting the upcall the system can become non-responsive or dead-lock. Reimplemented in TAO_LF_Strategy_Complete.

The documentation for this class was generated from the following files:

- LF_Strategy.h
- LF_Strategy.cpp