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

# TAO_Sync_Strategy Class Reference

Define the interface for the Queueing Strategy. More...

`#include <Sync_Strategies.h>`

Inheritance diagram for TAO_Sync_Strategy:

[legend]
List of all members.

## Public Methods
virtual | ~TAO_Sync_Strategy (void)
| Destructor.
virtual int | must_queue (int queue_empty)=0
| Return 1 if a message must be queued.
virtual int | buffering_constraints_reached (TAO_Stub *stub, size_t msg_count, size_t total_bytes, int &must_flush, const ACE_Time_Value &current_deadline, int &set_timer, ACE_Time_Value &interval)=0
| Return 1 if it is time to start.

## Detailed Description

Define the interface for the Queueing Strategy.

The low-level I/O components in the ORB use this strategy to determine when messages must be queued, immediately sent or flushed.

The strategy isolates this low-level components from the higher level strategies used by the application developer.

Todo:
  The class name (Sync_Strategy) is inherited from the policies (SyncScopePolicy), but Queueing_Strategy probably captures its intent better. It should be changed in a future revision of the ORB.

## Constructor & Destructor Documentation

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

| Destructor.

## Member Function Documentation

virtual int TAO_Sync_Strategy::buffering_constraints_reached | ( | TAO_Stub * | stub,
|  | size_t | msg_count,
|  | size_t | total_bytes,
|  | int & | must_flush,
|  | const ACE_Time_Value & | current_deadline,
|  | int & | set_timer,
|  | ACE_Time_Value & | interval
| ) | `[pure virtual]`

  | Return 1 if it is time to start. Parameters:
  stub | The object used to make the request, this is used to obtain the policies currently in effect for the request
  msg_count | The number of messages currently queued
  total_bytes | Number of bytes currently queued
  set_timer | Returns 1 if a timer should be set to drain the queue
  interval | If set_timer returns 1, this parameter contains the timer interval
Implemented in TAO_Transport_Sync_Strategy, and TAO_Eager_Buffering_Sync_Strategy.

virtual int TAO_Sync_Strategy::must_queue | ( | int | queue_empty | ) | `[pure virtual]`

| Return 1 if a message must be queued. Implemented in TAO_Transport_Sync_Strategy, TAO_Eager_Buffering_Sync_Strategy, and TAO_Delayed_Buffering_Sync_Strategy.

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

- Sync_Strategies.h
- Sync_Strategies.cpp