RSB  0.19.0
rsb::transport Namespace Reference

Namespaces

 inprocess
 
 socket
 

Classes

class  AsioServiceContext
 A class that keeps a boost asio service alive as long as this class lives. More...
 
class  Connector
 
class  ConnectorFactory
 Objects of this class are specialized factories that construct Connector objects and provide introspection for connector implementations without instantiating them. More...
 
class  ConverterSelectingConnector
 This base class enables look up of suitable rsb::converter::Converter s in rsb::transport::Connector classes. More...
 
class  InConnector
 Objects of classes which implement this interface can be used to receive events by means of one transport mechanism. More...
 
class  InPullConnector
 Objects of classes which implement this specialized InConnector interface provide the ability to receive events in pull-style manner by means of one transport mechanism. More...
 
class  InPushConnector
 Objects of classes which implement this specialized InConnector interface provide the ability to receive events in push-style manner by means of one transport mechanism. More...
 
class  OutConnector
 Objects of classes which implement this interface can be used to send events by means of one transport mechanism. More...
 

Typedefs

typedef boost::shared_ptr< OutConnectorOutConnectorPtr
 
typedef boost::shared_ptr< InConnectorInConnectorPtr
 
typedef boost::shared_ptr< InPullConnectorInPullConnectorPtr
 
typedef boost::shared_ptr< InPushConnectorInPushConnectorPtr
 
typedef boost::shared_ptr< AsioServiceContextAsioServiceContextPtr
 
typedef boost::shared_ptr< ConnectorConnectorPtr
 
typedef ConnectorFactory< InPullConnectorInPullFactory
 
typedef ConnectorFactory< InPushConnectorInPushFactory
 
typedef ConnectorFactory< OutConnectorOutFactory
 

Enumerations

enum  Directions { DIRECTION_IN_PUSH = 0x01, DIRECTION_IN_PULL = 0x02, DIRECTION_OUT = 0x04 }
 Transport directions. More...
 

Functions

InPullFactorygetInPullFactory ()
 
InPushFactorygetInPushFactory ()
 
OutFactorygetOutFactory ()
 
void registerDefaultTransports ()
 
set< string > getAvailableTransports (unsigned int requiredDirections)
 Returns the names of all available transports which support requiredDirections. More...
 
bool isAvailable (const std::string &transportName, unsigned int requiredDirections)
 Returns true if transportName names a transport which is available and supports requiredDirections . More...
 
bool isRemote (const std::string &transportName)
 Returns true if transportName names a remote transport. More...
 

Variables

static bool registered = false
 
static boost::mutex registrationMutex
 

Typedef Documentation

Definition at line 65 of file AsioServiceContext.h.

typedef boost::shared_ptr<Connector> rsb::transport::ConnectorPtr

Definition at line 82 of file Connector.h.

Enumeration Type Documentation

Transport directions.

Can be combined via bitwise or.

Enumerator
DIRECTION_IN_PUSH 
DIRECTION_IN_PULL 
DIRECTION_OUT 

Definition at line 42 of file transports.h.

Function Documentation

RSB_EXPORT std::set< std::string > rsb::transport::getAvailableTransports ( unsigned int  requiredDirections)

Returns the names of all available transports which support requiredDirections.

Parameters
requiredDirectionsOne or more of Directions.
Returns
The set of names of the available transports.

Definition at line 142 of file transports.cpp.

References DIRECTION_IN_PULL, DIRECTION_IN_PUSH, DIRECTION_OUT, rsb::transport::ConnectorFactory< Interface >::getConnectorInfos(), getInPullFactory(), getInPushFactory(), and getOutFactory().

Referenced by rsb::Factory::Factory().

Here is the call graph for this function:

Here is the caller graph for this function:

RSB_EXPORT InPullFactory & rsb::transport::getInPullFactory ( )

Definition at line 32 of file Factory.cpp.

Referenced by rsb::Factory::createInPullConnectors(), getAvailableTransports(), isAvailable(), isRemote(), and registerDefaultTransports().

Here is the caller graph for this function:

RSB_EXPORT InPushFactory & rsb::transport::getInPushFactory ( )

Definition at line 37 of file Factory.cpp.

Referenced by rsb::Factory::createInPushConnectors(), getAvailableTransports(), isAvailable(), isRemote(), and registerDefaultTransports().

Here is the caller graph for this function:

RSB_EXPORT OutFactory & rsb::transport::getOutFactory ( )

Definition at line 42 of file Factory.cpp.

Referenced by rsb::Factory::createOutConnectors(), getAvailableTransports(), isAvailable(), isRemote(), and registerDefaultTransports().

Here is the caller graph for this function:

RSB_EXPORT bool rsb::transport::isAvailable ( const std::string &  transportName,
unsigned int  requiredDirections 
)

Returns true if transportName names a transport which is available and supports requiredDirections .

Parameters
requiredDirectionsOne or more of Directions.
Returns
true if the requested transport is available, false otherwise.

Definition at line 199 of file transports.cpp.

References DIRECTION_IN_PULL, DIRECTION_IN_PUSH, DIRECTION_OUT, rsb::transport::ConnectorFactory< Interface >::getConnectorInfo(), getInPullFactory(), getInPushFactory(), and getOutFactory().

Here is the call graph for this function:

RSB_EXPORT bool rsb::transport::isRemote ( const std::string &  transportName)

Returns true if transportName names a remote transport.

Returns
true if the transport implements remote communication, false otherwise.
Exceptions
rsc::runtime::NoSuchObjectIf transportName does not name an available transport.

Definition at line 229 of file transports.cpp.

References rsb::transport::ConnectorFactory< Interface >::getConnectorInfo(), getInPullFactory(), getInPushFactory(), getOutFactory(), and rsb::transport::ConnectorFactory< Interface >::ConnectorInfo::isRemote().

Here is the call graph for this function:

RSB_EXPORT void rsb::transport::registerDefaultTransports ( )

Definition at line 53 of file transports.cpp.

References getInPullFactory(), getInPushFactory(), getOutFactory(), and rsb::transport::ConnectorFactory< Interface >::registerConnector().

Referenced by rsb::Factory::Factory().

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

bool rsb::transport::registered = false
static

Definition at line 50 of file transports.cpp.

boost::mutex rsb::transport::registrationMutex
static

Definition at line 51 of file transports.cpp.