Public Member Functions | Private Types | Private Member Functions | Private Attributes

BulkDataDistributerImpl< TReceiverCallback, TSenderCallback > Class Template Reference

#include <bulkDataDistributerImpl.h>

Inheritance diagram for BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >:
Inheritance graph
[legend]
Collaboration diagram for BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 BulkDataDistributerImpl (const ACE_CString &name, maci::ContainerServices *containerServices)
virtual ~BulkDataDistributerImpl ()
virtual void initialize ()
virtual void cleanUp ()
virtual void connect (bulkdata::BulkDataReceiver_ptr receiverObj_p)
virtual void multiConnect (bulkdata::BulkDataReceiver_ptr receiverObj_p)
virtual void connectByName (const char *receiverName_p)
virtual void disconnect ()
virtual void multiDisconnect (bulkdata::BulkDataReceiver_ptr receiverObj_p)
virtual void disconnectByName (const char *receiverName_p)
virtual void startSend ()
virtual void paceData ()
virtual void stopSend ()
virtual void openReceiver ()
void openReceiverStream (const char *stream_name)
bulkdata::BulkDataReceiverConfig * getReceiverConfig ()
virtual void closeReceiver ()
void closeReceiverStream (const char *stream_name)
virtual void setReceiver (const bulkdata::BulkDataReceiverConfig &receiverConfig)
virtual
AcsBulkdata::BulkDataDistributer
< TReceiverCallback,
TSenderCallback > * 
getDistributer ()
virtual ACSErr::CompletiongetCbStatus (CORBA::ULong flowNumber)
virtual ACSErr::CompletiongetReceiverCbStatus (const char *recvName, CORBA::ULong flowNumber)
virtual void setTimeout (CORBA::ULong flowNumber, CORBA::ULong timeout)
virtual void setRecvName (const char *recvName)
virtual void subscribeNotification (ACS::CBvoid_ptr notifCb)
void fwdData2UserCB (CORBA::Boolean enable)

Private Types

typedef ACE_Pair
< AcsBulkdata::RecvData,
AcsBulkdata::BulkDataSender
< TSenderCallback > * > 
Sender_Map_Pair
typedef ACE_Hash_Map_Manager
< ACE_CString, Sender_Map_Pair,
ACE_Null_Mutex > 
Sender_Map
typedef ACE_Hash_Map_Entry
< ACE_CString, Sender_Map_Pair
Sender_Map_Entry
typedef ACE_Hash_Map_Iterator
< ACE_CString, Sender_Map_Pair,ACE_Null_Mutex > 
Sender_Map_Iterator

Private Member Functions

void rmEntryFromSenderMap (bulkdata::BulkDataReceiver_ptr receiverObj_p)
void rmEntryFromSenderMap (const char *receiverName_p)

Private Attributes

maci::ContainerServicescontainerServices_p
CDB::DAL_ptr dal_p
AcsBulkdata::BulkDataDistributer
< TReceiverCallback,
TSenderCallback > 
distributer

template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
class BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >


Member Typedef Documentation

template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
typedef ACE_Hash_Map_Manager<ACE_CString, Sender_Map_Pair, ACE_Null_Mutex> BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::Sender_Map [private]
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
typedef ACE_Hash_Map_Entry<ACE_CString, Sender_Map_Pair > BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::Sender_Map_Entry [private]
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
typedef ACE_Hash_Map_Iterator<ACE_CString, Sender_Map_Pair ,ACE_Null_Mutex> BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::Sender_Map_Iterator [private]
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
typedef ACE_Pair< AcsBulkdata::RecvData , AcsBulkdata::BulkDataSender<TSenderCallback> *> BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::Sender_Map_Pair [private]

Constructor & Destructor Documentation

template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::BulkDataDistributerImpl ( const ACE_CString &  name,
maci::ContainerServices containerServices 
)

Constructor

Parameters:
poa Poa which will activate this and also all other Components.
name component name.
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
virtual BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::~BulkDataDistributerImpl (  )  [virtual]

Destructor


Member Function Documentation

template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
virtual void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::cleanUp (  )  [virtual]
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
virtual void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::closeReceiver (  )  [virtual]
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::closeReceiverStream ( const char *  stream_name  )  [inline]
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
virtual void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::connect ( bulkdata::BulkDataReceiver_ptr  receiverObj_p  )  [virtual]

Negotiate and initialize connection with the Sender object.

Parameters:
receiverObj_p reference of the Receiver Component.
Exceptions:
ACSBulkDataError::AVConnectErrorEx 
Returns:
void

template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
virtual void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::connectByName ( const char *  receiverName_p  )  [virtual]

Negotiate and initialize connection with the Sender object.

Parameters:
receiverName_p name of the Receiver Component.
Exceptions:
ACSBulkDataError::AVConnectErrorEx 
Returns:
void

template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
virtual void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::disconnect (  )  [virtual]
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
virtual void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::disconnectByName ( const char *  receiverName_p  )  [virtual]
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::fwdData2UserCB ( CORBA::Boolean  enable  )  [inline]

NOT implemented for distributor


template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
virtual ACSErr::Completion* BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::getCbStatus ( CORBA::ULong  flowNumber  )  [virtual]
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
virtual AcsBulkdata::BulkDataDistributer<TReceiverCallback, TSenderCallback>* BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::getDistributer (  )  [inline, virtual]
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
virtual ACSErr::Completion* BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::getReceiverCbStatus ( const char *  recvName,
CORBA::ULong  flowNumber 
) [virtual]
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
bulkdata::BulkDataReceiverConfig* BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::getReceiverConfig (  ) 
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
virtual void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::initialize (  )  [virtual]
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
virtual void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::multiConnect ( bulkdata::BulkDataReceiver_ptr  receiverObj_p  )  [virtual]

Negotiate and initialize connection with the Sender object.

Parameters:
receiverObj_p reference of the Receiver Component.
Exceptions:
ACSBulkDataError::AVConnectErrorEx 
Returns:
void

template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
virtual void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::multiDisconnect ( bulkdata::BulkDataReceiver_ptr  receiverObj_p  )  [virtual]
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
virtual void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::openReceiver (  )  [virtual]

Opens connection creating an out-of-bound channel using TAO A/V services. It creates the Receiver Stream End Point and Flow End Point for the connection with the Sender. The Receiver Stream End Point can be retrieved as an attribute.

Exceptions:
ACSBulkDataError::AVOpenReceiverErrorEx 
Returns:
void

template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::openReceiverStream ( const char *  stream_name  )  [inline]
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
virtual void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::paceData (  )  [virtual]

Sends data to the Receiver calling the receive_frame() method on the Receiver side. This method must be overriden by the user to send his own data.

Parameters:
size buffer size of the sent data.
Exceptions:
ACSBulkDataError::AVPaceDataErrorEx 
Returns:
void

template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::rmEntryFromSenderMap ( const char *  receiverName_p  )  [private]
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::rmEntryFromSenderMap ( bulkdata::BulkDataReceiver_ptr  receiverObj_p  )  [private]
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
virtual void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::setReceiver ( const bulkdata::BulkDataReceiverConfig &  receiverConfig  )  [virtual]
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
virtual void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::setRecvName ( const char *  recvName  )  [inline, virtual]
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
virtual void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::setTimeout ( CORBA::ULong  flowNumber,
CORBA::ULong  timeout 
) [inline, virtual]
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
virtual void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::startSend (  )  [virtual]

Calls the Receiver handle_start() method once the connection is established.

Exceptions:
ACSBulkDataError::AVStartSendErrorEx 
Returns:
void

template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
virtual void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::stopSend (  )  [virtual]

Calls the Receiver handle_stop() method.

Exceptions:
ACSBulkDataError::AVStopSendErrorEx 
Returns:
void

template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
virtual void BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::subscribeNotification ( ACS::CBvoid_ptr  notifCb  )  [virtual]

Member Data Documentation

template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
maci::ContainerServices* BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::containerServices_p [private]
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
CDB::DAL_ptr BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::dal_p [private]
template<class TReceiverCallback, class TSenderCallback = BulkDataSenderDefaultCallback>
AcsBulkdata::BulkDataDistributer<TReceiverCallback, TSenderCallback> BulkDataDistributerImpl< TReceiverCallback, TSenderCallback >::distributer [private]

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