Public Member Functions

ACS::Callback Interface Reference

import "acscommon.idl";

Inheritance diagram for ACS::Callback:
Inheritance graph
[legend]
Collaboration diagram for ACS::Callback:
Collaboration graph
[legend]

List of all members.

Public Member Functions

boolean negotiate (in TimeInterval time_to_transmit, in CBDescOut desc)

Detailed Description

A callback is the technical mechanism underlying the concepts of asynchronous notification (discussed in connection with actions) and monitoring. It is an object passed by the client to the server, so that the server can later invoke methods on the callback and thus inform the client of a change in status, completion of some operation, and the like. During this notification the roles of the client and the server are reversed. Every callback must be subclassed from the Callback interface.


Member Function Documentation

boolean ACS::Callback::negotiate ( in TimeInterval  time_to_transmit,
in CBDescOut  desc 
)

Allows to negotiate timeout handling over dial-up lines.

Parameters:
time_to_transmit If the servant plans to dialup the remote object before the negotiable_timeout expires, it must call negotiate, passing as the time_to_transmit parameter the time before the dialup will be established and the message queue sent to remote object.
Returns:
Normally, the client will return true which means that the asynchronous request should stay in the queue and that the client expects the callback notification when the call executes on the remote side. If, however, the servant plans to dial the remote object after the negotiable_timeout, it has two choices: either to move the dial time forward so that the dialup happens before the negotiable_timeout expires or not. Either way, it has to call negotiate with the time_to_transmit parameter. If this time is longer than negotiable_timeout the client may return false, indicating that the request should be removed from the queue and that the client expects no further callbacks. In case of true, the scenario is the same as before.
Todo:
This method is not currently being utilized in the latest ACS release.

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