31 #include <boost/thread.hpp>
37 #ifdef RSB_WITH_SOCKET_TRANSPORT
65 &inprocess::InPushConnector::create,
69 #ifdef RSB_WITH_SOCKET_TRANSPORT
72 options.insert(
"host");
73 options.insert(
"port");
74 options.insert(
"server");
75 options.insert(
"tcpnodelay");
78 &socket::InPushConnector::create,
92 &inprocess::InPullConnector::create,
96 #ifdef RSB_WITH_SOCKET_TRANSPORT
99 options.insert(
"host");
100 options.insert(
"port");
101 options.insert(
"server");
102 options.insert(
"tcpnodelay");
105 &socket::InPullConnector::create,
118 &inprocess::OutConnector::create,
122 #ifdef RSB_WITH_SOCKET_TRANSPORT
125 options.insert(
"host");
126 options.insert(
"port");
127 options.insert(
"server");
128 options.insert(
"tcpnodelay");
131 &socket::OutConnector::create,
144 bool validResult =
false;
151 }
catch (
const rsc::runtime::NoSuchObject&) {
157 if (validResult && (remote != info.
isRemote())) {
158 throw std::logic_error(
"connectors of one transport disagree about remoteness.");
162 }
catch (
const rsc::runtime::NoSuchObject&) {
168 if (validResult && (remote != info.
isRemote())) {
169 throw std::logic_error(
"connectors of one transport disagree about remoteness.");
173 }
catch (
const rsc::runtime::NoSuchObject&) {
176 throw rsc::runtime::NoSuchObject(transportName);
Instances of this class describe capabilities and properties of connector implementations.
void registerConnector(const std::string &name, const CreateFunction &constructor, const std::set< std::string > &schemas=std::set< std::string >(), bool remote=true, const std::set< std::string > &options=std::set< std::string >())
For the connector implementation named name, register the construct function constructor, supported schemas schemas and recognized configuration options options.
ConnectorInfo getConnectorInfo(const std::string &name) const
Return information regarding the connector implementation named name.
static boost::mutex registrationMutex
void registerDefaultTransports()
bool isRemote(const string &transportName)
InPullFactory & getInPullFactory()
bool isRemote() const
Return "remoteness" of the implementation.
InPushFactory & getInPushFactory()
OutFactory & getOutFactory()
Objects of this class are specialized factories that construct Connector objects and provide introspe...