RSB  0.10.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
rsb::transport Namespace Reference

Namespaces

namespace  inprocess
namespace  socket

Classes

class  Connector
class  ConverterSelectingConnector
 This base class enables look up of suitable rsb::converter::Converter s in rsb::transport::Connector classes. More...
class  ConnectorFactory
 Objects of this class are specialized factories that construct Connector objects and provide introspection for connector implementations without instantiating them. 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
< OutConnector
OutConnectorPtr
typedef boost::shared_ptr
< InConnector
InConnectorPtr
typedef boost::shared_ptr
< InPullConnector
InPullConnectorPtr
typedef boost::shared_ptr
< InPushConnector
InPushConnectorPtr
typedef boost::shared_ptr
< Connector
ConnectorPtr
typedef ConnectorFactory
< InPullConnector
InPullFactory
typedef ConnectorFactory
< InPushConnector
InPushFactory
typedef ConnectorFactory
< OutConnector
OutFactory

Enumerations

enum  Directions { IN_PUSH = 0x01, IN_PULL = 0x02, 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.
bool isAvailable (const std::string &transportName, unsigned int requiredDirections)
 Returns true if transportName names a transport which is available and supports requiredDirections .
bool isRemote (const std::string &transportName)
 Returns true if transportName names a remote transport.

Variables

static bool registered = false
static boost::mutex registrationMutex

Typedef Documentation

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

Definition at line 73 of file Connector.h.

Enumeration Type Documentation

Transport directions.

Can be combined via bitwise or.

Enumerator:
IN_PUSH 
IN_PULL 
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 rsb::transport::ConnectorFactory< Interface >::getConnectorInfos(), getInPullFactory(), getInPushFactory(), getOutFactory(), IN_PULL, IN_PUSH, and OUT.

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.

References rsb::transport::ConnectorFactory< Interface >::getInstanceBase().

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 36 of file Factory.cpp.

References rsb::transport::ConnectorFactory< Interface >::getInstanceBase().

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 40 of file Factory.cpp.

References rsb::transport::ConnectorFactory< Interface >::getInstanceBase().

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

Here is the call graph for this function:

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 rsb::transport::ConnectorFactory< Interface >::getConnectorInfo(), getInPullFactory(), getInPushFactory(), getOutFactory(), IN_PULL, IN_PUSH, and OUT.

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(), rsb::transport::ConnectorFactory< Interface >::registerConnector(), rsb::converter::registered, and rsb::converter::registrationMutex.

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.