alma::ACS::jbaci::BACIDispatchAction Class Reference

Inheritance diagram for alma::ACS::jbaci::BACIDispatchAction:
Inheritance graph
[legend]
Collaboration diagram for alma::ACS::jbaci::BACIDispatchAction:
Collaboration graph
[legend]

List of all members.

Classes

interface  DispatchFailedListener
class  DispatchRequest

Public Member Functions

 BACIDispatchAction (CBvoid callback, CBDescIn descIn)
 BACIDispatchAction (Callback callback, CBDescIn descIn, CallbackDispatcher callbackDispatcher)
 BACIDispatchAction (CBvoid callback, CBDescIn descIn, BACIPriority priority)
 BACIDispatchAction (Callback callback, CBDescIn descIn, CallbackDispatcher callbackDispatcher, BACIPriority priority)
void dispatchWorkingRequest (Completion completion)
void dispatchWorkingRequest (Completion completion, Object value)
void dispatchDoneRequest (Completion completion)
void dispatchDoneRequest (Completion completion, Object value)
void dispatchRequest (int type, Completion completion, Object value)
BACIPriority getPriority ()
final void run ()
CBDescOut getDescOut ()
boolean isOverridePolicy ()
void setOverridePolicy (boolean b)
void setPriority (BACIPriority priority)
void addDispatchFailedListener (DispatchFailedListener listener)
void removeDispatchFailedListener (DispatchFailedListener listener)

Protected Member Functions

void dispatchRequest (DispatchRequest request)
boolean failed ()
boolean dispatch ()
void submit ()

Static Protected Member Functions

static CBDescOut generateCBDescOut (CBDescIn descIn)

Protected Attributes

BACIPriority priority
CBDescOut descOut
Callback callback
CallbackDispatcher callbackDispatcher
int failureCountLimit
int failureCount = 0
LinkedList queue = new LinkedList()
DispatchRequest pendingRequest = null
boolean submitPending = false
boolean overridePolicy = false
ArrayList listeners = new ArrayList()

Static Protected Attributes

static final int DEFAULT_FAILURE_COUNT_LIMIT = 3

Detailed Description

BACI dispatch action.

Author:
Matej Sekoranja
Version:
$id$

Constructor & Destructor Documentation

alma::ACS::jbaci::BACIDispatchAction::BACIDispatchAction ( CBvoid  callback,
CBDescIn  descIn 
) [inline]

Constructor of NORMAL priority action (CBvoid callback).

Parameters:
callback action callback.
descIn action callback in descriptor.
alma::ACS::jbaci::BACIDispatchAction::BACIDispatchAction ( Callback  callback,
CBDescIn  descIn,
CallbackDispatcher  callbackDispatcher 
) [inline]

Constructor of NORMAL priority action.

Parameters:
callback action callback.
descIn action callback in descriptor.
callbackDispatcher callback dispatcher (value dependend).
alma::ACS::jbaci::BACIDispatchAction::BACIDispatchAction ( CBvoid  callback,
CBDescIn  descIn,
BACIPriority  priority 
) [inline]

Constructor.

Parameters:
callback action callback.
descIn action in descriptor.
priority action priority.
alma::ACS::jbaci::BACIDispatchAction::BACIDispatchAction ( Callback  callback,
CBDescIn  descIn,
CallbackDispatcher  callbackDispatcher,
BACIPriority  priority 
) [inline]

Constructor.

Parameters:
callback action callback.
descIn action in descriptor.
callbackDispatcher callback dispatcher (value dependend).
priority action priority.

References DEFAULT_FAILURE_COUNT_LIMIT, descOut, failureCountLimit, and generateCBDescOut().


Member Function Documentation

void alma::ACS::jbaci::BACIDispatchAction::addDispatchFailedListener ( DispatchFailedListener  listener  )  [inline]

Add dispatch failed listener.

Parameters:
listener listener to listen failed dispatch notifications.

References listeners.

Referenced by alma::ACS::impl::CommonMonitorImpl::CommonMonitorImpl().

boolean alma::ACS::jbaci::BACIDispatchAction::dispatch (  )  [inline, protected]
void alma::ACS::jbaci::BACIDispatchAction::dispatchDoneRequest ( Completion  completion,
Object  value 
) [inline]

Added done callback request to dispatch queue.

Parameters:
completion completion.
value value.

References dispatchRequest().

void alma::ACS::jbaci::BACIDispatchAction::dispatchDoneRequest ( Completion  completion  )  [inline]
void alma::ACS::jbaci::BACIDispatchAction::dispatchRequest ( DispatchRequest  request  )  [inline, protected]

Added request to dispatch queue (internal).

References overridePolicy, queue, submit(), and submitPending.

void alma::ACS::jbaci::BACIDispatchAction::dispatchRequest ( int  type,
Completion  completion,
Object  value 
) [inline]

Added request to dispatch queue.

Referenced by dispatchDoneRequest(), and dispatchWorkingRequest().

void alma::ACS::jbaci::BACIDispatchAction::dispatchWorkingRequest ( Completion  completion,
Object  value 
) [inline]

Added working callback request to dispatch queue.

Parameters:
completion completion.

References dispatchRequest().

void alma::ACS::jbaci::BACIDispatchAction::dispatchWorkingRequest ( Completion  completion  )  [inline]

Added working callback request to dispatch queue.

Parameters:
completion completion.
value value.

References dispatchRequest().

Referenced by alma::ACS::impl::CommonMonitorImpl::retrieveValueAndDispatch(), and alma::ACS::impl::CommonComparableMonitorImpl::valueChanged().

boolean alma::ACS::jbaci::BACIDispatchAction::failed (  )  [inline, protected]

Call this metod to notify dispatch failure.

Returns:
true, if dispaching is to be canceled (e.g. failure counter reached its failure limit)

References failureCount, and failureCountLimit.

Referenced by run().

static CBDescOut alma::ACS::jbaci::BACIDispatchAction::generateCBDescOut ( CBDescIn  descIn  )  [inline, static, protected]

Generates callback out descriptor from in descriptor.

Parameters:
descIn callback in descriptor.
Returns:
generated callback out descriptor.

References alma::ACS::CBDescIn::id_tag.

Referenced by BACIDispatchAction().

CBDescOut alma::ACS::jbaci::BACIDispatchAction::getDescOut (  )  [inline]

Get callback out-descriptor.

Returns:
callback out-descriptor.

References descOut.

BACIPriority alma::ACS::jbaci::BACIDispatchAction::getPriority (  )  [inline]
boolean alma::ACS::jbaci::BACIDispatchAction::isOverridePolicy (  )  [inline]

Get current override policy.

Returns:
current override policy.

References overridePolicy.

Referenced by run().

void alma::ACS::jbaci::BACIDispatchAction::removeDispatchFailedListener ( DispatchFailedListener  listener  )  [inline]

Remove dispatch failed listener.

Parameters:
listener listener to remove.

References listeners.

Referenced by alma::ACS::impl::CommonMonitorImpl::destroy().

final void alma::ACS::jbaci::BACIDispatchAction::run (  )  [inline]
void alma::ACS::jbaci::BACIDispatchAction::setOverridePolicy ( boolean  b  )  [inline]
void alma::ACS::jbaci::BACIDispatchAction::setPriority ( BACIPriority  priority  )  [inline]

Set dispatching priority.

Parameters:
priority dispatching priority to set.
void alma::ACS::jbaci::BACIDispatchAction::submit (  )  [inline, protected]

Sumbit action to be BACIExecutor to be executed.

References queue, and submitPending.

Referenced by dispatchRequest(), and run().


Member Data Documentation

Callback.

Referenced by dispatch().

Callback dispatcher (used to dispatch non-CBvoid callbacks).

Referenced by dispatch().

Failure limit.

Referenced by BACIDispatchAction().

Callback out descriptor.

Referenced by BACIDispatchAction(), dispatch(), and getDescOut().

Failure count.

Referenced by failed(), and run().

Failure limit (number of retries), 0 means until successfull.

Referenced by BACIDispatchAction(), and failed().

ArrayList alma::ACS::jbaci::BACIDispatchAction::listeners = new ArrayList() [protected]

List of registered listeners.

Referenced by addDispatchFailedListener(), removeDispatchFailedListener(), and run().

Override policy for request queue. If true newer request will override request in the queue. If false (default) requests will form a linked list.

Referenced by dispatchRequest(), isOverridePolicy(), and setOverridePolicy().

Pending request. NOTE: synchronized on queue's monitor.

Referenced by dispatch(), and run().

Action priority.

Referenced by getPriority().

LinkedList alma::ACS::jbaci::BACIDispatchAction::queue = new LinkedList() [protected]

Ordered dispatch queue.

Referenced by dispatchRequest(), run(), and submit().

Flag indicating pending submit. NOTE: synchronized on queue's monitor.

Referenced by dispatchRequest(), run(), and submit().


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

Generated by  doxygen 1.6.2