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

AcsBulkdata::BulkDataSender< TSenderCallback > Class Template Reference

#include <bulkDataSender.h>

List of all members.

Classes

struct  FepsCfgA

Public Member Functions

 BulkDataSender ()
virtual ~BulkDataSender ()
void initialize ()
void createSingleFlow ()
void createMultipleFlows (const char *fepsConfig)
void connectToPeer (bulkdata::BulkDataReceiverConfig *recvConfig_p)
void getFlowProtocol (ACE_CString &flowname, TAO_AV_Protocol_Object *&currentProtocol_p)
void startSend (CORBA::ULong flownumber, ACE_Message_Block *param=0)
void startSend (CORBA::ULong flownumber, const char *param, size_t len)
void sendData (CORBA::ULong flownumber, ACE_Message_Block *buffer)
void sendData (CORBA::ULong flownumber, const char *buffer, size_t len)
void stopSend (CORBA::ULong flownumber)
void disconnectPeer ()
TAO_StreamCtrl * getStreamCtrl ()
const char * getFlowSpec (const ACE_CString &flowName)
std::vector< std::string > getFlowNames ()
ACE_HANDLE findHandle (ACE_CString &flowname)
void startStream (CORBA::ULong flownumber)
void sendStream (CORBA::ULong flownumber, ACE_Message_Block *buffer)
void stopStream (CORBA::ULong flownumber)

Private Types

typedef ACE_Hash_Map_Manager
< ACE_CString,
BulkDataFlowProducer
< TSenderCallback >
*, ACE_Null_Mutex > 
FepObjects
typedef ACE_Hash_Map_Iterator
< ACE_CString,
BulkDataFlowProducer
< TSenderCallback >
*, ACE_Null_Mutex > 
FepObjectsIterator
typedef ACE_Hash_Map_Manager
< ACE_CString, ACE_HANDLE,
ACE_Null_Mutex > 
HandleMap
typedef ACE_Hash_Map_Iterator
< ACE_CString, ACE_HANDLE,
ACE_Null_Mutex > 
HandleMapIterator

Private Member Functions

void initPartA ()
AVStreams::StreamEndPoint_A_ptr createSepA ()
AVStreams::FlowProducer_ptr createFepProducerA (ACE_CString &flowname, AVStreams::protocolSpec protocols, ACE_CString &format, TAO_StreamCtrl *strctrl_p)
void addFepToSep (AVStreams::StreamEndPoint_A_ptr locSepA_p, AVStreams::FlowProducer_ptr locFepA_p)
TAO_StreamCtrl * createStreamCtrl ()
const char * createFwdFlowSpec (ACE_CString &flowname, ACE_CString &direction, ACE_CString &formatName, ACE_CString &flowProtocol, ACE_CString &carrierProtocol, ACE_CString &localAddress, ACE_CString &remoteAddress)
void setReceiverConfig (bulkdata::BulkDataReceiverConfig *recvConfig_p)
AVStreams::StreamEndPoint_A_ptr getStreamEndPointA ()
void deleteStreamCtrl ()
void deleteFepsA ()
void deleteSepA ()
void deleteConnector ()
void deleteHandler ()
const char * createFlowSpec (ACE_CString &flowname, ACE_CString &fepProtocol)
void mergeFlowSpecs ()

Private Attributes

TAO_AV_Endpoint_Reactive_Strategy_A
< TAO_StreamEndPoint_A,
TAO_VDev, AV_Null_MediaCtrl > 
endpointStrategy_m
AVStreams::StreamEndPoint_A_var sepA_p
AVStreams::StreamEndPoint_B_var sepB_p
FepObjects fepMap_m
HandleMap handleMap_m
AVStreams::flowSpec_var recvFeps_p
AVStreams::flowSpec senderFeps_m
TAO_StreamEndPoint_A * sepRefCount_p
CORBA::Boolean disconnectPeerFlag
AVStreams::flowSpec flowSpec_m
TAO_StreamCtrl * streamctrl_p

template<class TSenderCallback>
class AcsBulkdata::BulkDataSender< TSenderCallback >


Member Typedef Documentation

template<class TSenderCallback>
typedef ACE_Hash_Map_Manager<ACE_CString, BulkDataFlowProducer<TSenderCallback> *, ACE_Null_Mutex> AcsBulkdata::BulkDataSender< TSenderCallback >::FepObjects [private]
template<class TSenderCallback>
typedef ACE_Hash_Map_Iterator<ACE_CString, BulkDataFlowProducer<TSenderCallback> *, ACE_Null_Mutex> AcsBulkdata::BulkDataSender< TSenderCallback >::FepObjectsIterator [private]
template<class TSenderCallback>
typedef ACE_Hash_Map_Manager<ACE_CString, ACE_HANDLE, ACE_Null_Mutex> AcsBulkdata::BulkDataSender< TSenderCallback >::HandleMap [private]
template<class TSenderCallback>
typedef ACE_Hash_Map_Iterator<ACE_CString, ACE_HANDLE, ACE_Null_Mutex> AcsBulkdata::BulkDataSender< TSenderCallback >::HandleMapIterator [private]

Constructor & Destructor Documentation

template<class TSenderCallback>
AcsBulkdata::BulkDataSender< TSenderCallback >::BulkDataSender (  ) 

Constructor

template<class TSenderCallback>
virtual AcsBulkdata::BulkDataSender< TSenderCallback >::~BulkDataSender (  )  [virtual]

Destructor


Member Function Documentation

template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::addFepToSep ( AVStreams::StreamEndPoint_A_ptr  locSepA_p,
AVStreams::FlowProducer_ptr  locFepA_p 
) [private]

Add the Flow End Point to the Stream End Point

Parameters:
AVStreams::StreamEndPoint_A_ptr 
AVStreams::FlowProducer_ptr 
Returns:
void

template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::connectToPeer ( bulkdata::BulkDataReceiverConfig *  recvConfig_p  ) 

Bind the Stram End Points

Parameters:
recv_config 
Exceptions:
ACSBulkDataError::AVConnectErrorExImpl 
Returns:
void

template<class TSenderCallback>
AVStreams::FlowProducer_ptr AcsBulkdata::BulkDataSender< TSenderCallback >::createFepProducerA ( ACE_CString &  flowname,
AVStreams::protocolSpec  protocols,
ACE_CString &  format,
TAO_StreamCtrl *  strctrl_p 
) [private]

Create the Producer Flow End Point

Parameters:
flowname 
AVStreams::protocolSpec 
format 
Returns:
AVStreams::FlowProducer_ptr

template<class TSenderCallback>
const char* AcsBulkdata::BulkDataSender< TSenderCallback >::createFlowSpec ( ACE_CString &  flowname,
ACE_CString &  fepProtocol 
) [private]

Create the Flow Specifications

Parameters:
flowname 
fep_protocol 
Returns:
const char *

template<class TSenderCallback>
const char* AcsBulkdata::BulkDataSender< TSenderCallback >::createFwdFlowSpec ( ACE_CString &  flowname,
ACE_CString &  direction,
ACE_CString &  formatName,
ACE_CString &  flowProtocol,
ACE_CString &  carrierProtocol,
ACE_CString &  localAddress,
ACE_CString &  remoteAddress 
) [private]

Create the QoS

Returns:
AVStreams::streamQoS_ptr

Create the Forward Flow Specifications
Parameters:
flowname 
direction 
format_name 
flow_protocol 
carrier_protocol 
local_address 
remote_address 
Returns:
const char *

template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::createMultipleFlows ( const char *  fepsConfig  ) 

Create multiple flows (user defined)

Parameters:
fepsConfig 
Exceptions:
ACSBulkDataError::AVStreamEndpointErrorExImpl 
ACSBulkDataError::AVInvalidFlowNumberExImpl 
ACSBulkDataError::AVFlowEndpointErrorExImpl 
Returns:
void

template<class TSenderCallback>
AVStreams::StreamEndPoint_A_ptr AcsBulkdata::BulkDataSender< TSenderCallback >::createSepA (  )  [private]

Create the part A Stream End Point

Returns:
AVStreams::StreamEndPoint_A_ptr

template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::createSingleFlow (  ) 

Create single flow (TCP, A/V default port)

Exceptions:
ACSBulkDataError::AVStreamEndpointErrorExImpl 
ACSBulkDataError::AVFlowEndpointErrorExImpl 
Returns:
void

template<class TSenderCallback>
TAO_StreamCtrl* AcsBulkdata::BulkDataSender< TSenderCallback >::createStreamCtrl (  )  [private]

Create the Stream Control

Returns:
TAO_StreamCtrl *

template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::deleteConnector (  )  [private]
template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::deleteFepsA (  )  [private]

Delete allocated feps

Returns:
void

template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::deleteHandler (  )  [private]
template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::deleteSepA (  )  [private]

Delete allocated seps

Returns:
void

template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::deleteStreamCtrl (  )  [private]

Delete stream ctrl

Returns:
void

template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::disconnectPeer (  ) 

Disconnect peer

Exceptions:
ACSBulkDataError::AVDisconnectErrorExImpl 
Returns:
void

template<class TSenderCallback>
ACE_HANDLE AcsBulkdata::BulkDataSender< TSenderCallback >::findHandle ( ACE_CString &  flowname  ) 
template<class TSenderCallback>
std::vector<std::string> AcsBulkdata::BulkDataSender< TSenderCallback >::getFlowNames (  ) 

Get the names of the connected flows

Returns:
vector<string>

template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::getFlowProtocol ( ACE_CString &  flowname,
TAO_AV_Protocol_Object *&  currentProtocol_p 
)

Get the Flow Protocol according to flowname

Parameters:
flowname 
TAO_AV_Protocol_Object *
Exceptions:
ACSBulkDataError::AVFlowEndpointErrorExImpl 
ACSBulkDataError::AVProtocolErrorExImpl 
Returns:
void

template<class TSenderCallback>
const char* AcsBulkdata::BulkDataSender< TSenderCallback >::getFlowSpec ( const ACE_CString &  flowName  ) 
template<class TSenderCallback>
TAO_StreamCtrl* AcsBulkdata::BulkDataSender< TSenderCallback >::getStreamCtrl (  )  [inline]
template<class TSenderCallback>
AVStreams::StreamEndPoint_A_ptr AcsBulkdata::BulkDataSender< TSenderCallback >::getStreamEndPointA (  )  [private]

Accessor for the part A Stream End Point

Returns:
AVStreams::StreamEndPoint_A_ptr

template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::initialize (  ) 

Initialize the A/V

Exceptions:
ACSBulkDataError::AVInitErrorExImpl 
Returns:
void

template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::initPartA (  )  [private]

Initialize the A/V part A

Returns:
void

template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::mergeFlowSpecs (  )  [private]
template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::sendData ( CORBA::ULong  flownumber,
const char *  buffer,
size_t  len 
)

Calls the Receiver receive_frame() method.

Parameters:
CORBA::ULong flowNumber
const char *
size_t len
unsigned long timeout (msec)
Exceptions:
ACSBulkDataError::AVSendFrameErrorExImpl 
Returns:
void

template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::sendData ( CORBA::ULong  flownumber,
ACE_Message_Block *  buffer 
)

Calls the Receiver receive_frame() method.

Parameters:
CORBA::ULong flowNumber
ACE_Message_Block 
Exceptions:
ACSBulkDataError::AVSendFrameErrorExImpl 
Returns:
void

template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::sendStream ( CORBA::ULong  flownumber,
ACE_Message_Block *  buffer 
)
template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::setReceiverConfig ( bulkdata::BulkDataReceiverConfig *  recvConfig_p  )  [private]

Set the Receiver configuration

Parameters:
*recv_config 
Returns:
void

template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::startSend ( CORBA::ULong  flownumber,
const char *  param,
size_t  len 
)

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

Parameters:
ACE_CString 
const char *
Exceptions:
ACSBulkDataError::AVSendFrameErrorExImpl 
Returns:
void

template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::startSend ( CORBA::ULong  flownumber,
ACE_Message_Block *  param = 0 
)

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

Parameters:
ACE_CString 
ACE_Message_Block 
Exceptions:
ACSBulkDataError::AVSendFrameErrorExImpl 
Returns:
void

template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::startStream ( CORBA::ULong  flownumber  ) 
template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::stopSend ( CORBA::ULong  flownumber  ) 

Calls the Receiver handle_stop() method.

Parameters:
ACE_CString 
ACE_Message_Block 
Exceptions:
ACSBulkDataError::AVStopSendErrorExImpl 
Returns:
void

template<class TSenderCallback>
void AcsBulkdata::BulkDataSender< TSenderCallback >::stopStream ( CORBA::ULong  flownumber  ) 

Member Data Documentation

template<class TSenderCallback>
CORBA::Boolean AcsBulkdata::BulkDataSender< TSenderCallback >::disconnectPeerFlag [private]
template<class TSenderCallback>
TAO_AV_Endpoint_Reactive_Strategy_A<TAO_StreamEndPoint_A,TAO_VDev,AV_Null_MediaCtrl> AcsBulkdata::BulkDataSender< TSenderCallback >::endpointStrategy_m [private]

The endpoint strategy used by the sender

template<class TSenderCallback>
FepObjects AcsBulkdata::BulkDataSender< TSenderCallback >::fepMap_m [private]
template<class TSenderCallback>
AVStreams::flowSpec AcsBulkdata::BulkDataSender< TSenderCallback >::flowSpec_m [private]
template<class TSenderCallback>
HandleMap AcsBulkdata::BulkDataSender< TSenderCallback >::handleMap_m [private]
template<class TSenderCallback>
AVStreams::flowSpec_var AcsBulkdata::BulkDataSender< TSenderCallback >::recvFeps_p [private]
template<class TSenderCallback>
AVStreams::flowSpec AcsBulkdata::BulkDataSender< TSenderCallback >::senderFeps_m [private]
template<class TSenderCallback>
AVStreams::StreamEndPoint_A_var AcsBulkdata::BulkDataSender< TSenderCallback >::sepA_p [private]
template<class TSenderCallback>
AVStreams::StreamEndPoint_B_var AcsBulkdata::BulkDataSender< TSenderCallback >::sepB_p [private]
template<class TSenderCallback>
TAO_StreamEndPoint_A* AcsBulkdata::BulkDataSender< TSenderCallback >::sepRefCount_p [private]
template<class TSenderCallback>
TAO_StreamCtrl* AcsBulkdata::BulkDataSender< TSenderCallback >::streamctrl_p [private]

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