Class: TAsynchronousNotifier

Declaration: Notification.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

MNotifier

Inherited By:

None.

Purpose:

The asynchronous notifier distributes the notifications asynchronously. The Notify member function causes the notification to be put into a TNotificationRequest and placed on a request queue. The notification is distributed to the caller when the request processor gets to it.

Instantiation:

Always allocate on the heap.

Deriving Classes:

This class is a concrete notifier and is not usually derived.

Concurrency:

Multithread safe.

Resource Use:

No special requirements.

Member Function: TAsynchronousNotifier::TAsynchronousNotifier

  1. TAsynchronousNotifier (TRequestProcessor * processorToUse)
  2. TAsynchronousNotifier ()

Interface Category:

API.

Purpose:

  1. Constructs a TAsynchronousNotifier that uses the specified request processor to distribute the notifications. It does not adopt the processor. Thus, several asynchronous notifiers may share the same request processor.
  2. Default constructor. This creates a default request processor which the asynchronous notifier uses to distribute the notifications.

Calling Context:

  1. Call this function directly.
  2. Called by the stream-in operators and directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TAsynchronousNotifier::~TAsynchronousNotifier

virtual ~ TAsynchronousNotifier ()

Interface Category:

API.

Purpose:

Destructor.

Calling Context:

Called to destroy an object. Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TAsynchronousNotifier::Notify

  1. virtual void Notify (const TNotification &)
  2. virtual void Notify (const TNotification &, const TInterest &)
  3. virtual void Notify (const TNotification &, const TCollectionOf < TInterest > &)

Interface Category:

API.

Purpose:

  1. Distributes the notification to all connections that match the interest given in the notification.
  2. Distributes the notification to all connections that match the interest specified as the second parameter. The receiver can of course receive a notification having an interest that is different than the interest used to make the connection. This is the case with interests like all-changes-interest. Such a receiver expects to get notifications for specific occurrences all sent to its all-changes-interest connection.
  3. Distributes the notification to all connections which have an interest that matches anyone of the collections of interests.

Calling Context:

  1. Call this function directly.
  2. Call this function directly.
  3. Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TAsynchronousNotifier::BeginNotification

virtual void BeginNotification ()

Interface Category:

API.

Purpose:

For efficiency reasons, notifiers might decide to batch up a set of notifications. The notifications will not be distributed until after the EndNotification call is made.

Calling Context:

Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TAsynchronousNotifier::EndNotification

virtual void EndNotification ()

Interface Category:

API.

Purpose:

For efficiency reasons, notifiers might decide to batch up a set of notifications. The notifications will not be distributed until after the EndNotification call is made.

Calling Context:

Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TAsynchronousNotifier::AdoptRequest

virtual void AdoptRequest (TNotificationRequest *)

Interface Category:

API.

Purpose:

Adopts the notification request and places the request on the request processor's queue.

Calling Context:

Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TAsynchronousNotifier::RemoveConnectionInterest

virtual void RemoveConnectionInterest (const TNotifierConnection &, const TInterest &)

Interface Category:

API.

Purpose:

A notifier connection tells the notifier that it is no longer interested in getting notifications by removing the interests.

Calling Context:

Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TAsynchronousNotifier::AddConnectionInterest

virtual void AddConnectionInterest (TNotifierConnection *, const TInterest &)

Interface Category:

API.

Purpose:

A notifier connection tells the notifier what notifications that it is interested in using the Add Connection Interest member function.

Calling Context:

Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TAsynchronousNotifier::IsBatching

virtual bool IsBatching () const

Interface Category:

API.

Purpose:

This selector indicates whether the notifier is in notification distribution batch mode.

Calling Context:

Call this function directly.

Parameters:

Return Value:

Returns true if the notifier is batching up a group of notifications to distribute.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TAsynchronousNotifier::HasConnectionFor

virtual bool HasConnectionFor (const TInterest &) const

Interface Category:

API.

Purpose:

A selector used to tell if any receiver has expressed desire in getting notifications for the given interest.

Calling Context:

Call this function directly.

Parameters:

Return Value:

Returns true if there is at least one connection with the given interest.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.