30 #include "../../MetaData.h" 34 using namespace boost;
43 transport::InPushConnector* InPushConnector::create(
const Properties& args) {
44 LoggerPtr logger = Logger::getLogger(
"rsb.transport.socket.InPushConnector");
45 RSCDEBUG(logger,
"Creating InPushConnector with properties " << args);
48 args.get<ConverterSelectionStrategyPtr>(
"converters"),
52 args.getAs<
bool> (
"tcpnodelay",
true));
61 ConnectorBase(factory, converters, host, port, server, tcpnodelay),
62 InConnector(factory, converters, host, port, server, tcpnodelay),
63 logger(Logger::getLogger(
"rsb.transport.socket.InPushConnector")) {
75 throw std::runtime_error(
"Cannot handle events when not active");
82 event->mutableMetaData().setReceiveTime();
86 boost::shared_ptr<string> wireData = static_pointer_cast<
string>(
event->getData());
87 string wireSchema =
event->getMetaData().getUserInfo(
"rsb.wire-schema");
91 =
getConverter(wireSchema)->deserialize(wireSchema, *wireData);
92 event->setData(d.second);
93 event->setType(d.first);
97 for (HandlerList::iterator it = this->
handlers.begin(); it
std::pair< std::string, boost::shared_ptr< void > > AnnotatedData
A combination of data type and the actual data.
virtual const std::string getTransportURL() const
void handle(EventPtr event)
Handle event.
virtual ~InPushConnector()
Basic message that is exchanged between informers and listeners.
boost::shared_ptr< Factory > FactoryPtr
virtual const std::string getTransportURL() const
virtual void setScope(const Scope &scope)
Instances of this class receive events from a bus that is accessed via a socket connection.
FactoryPtr getDefaultFactory()
This class is intended to be used as a base class for connector classes of the socket-based transport...
virtual void setScope(const Scope &scope)
const uint16_t DEFAULT_PORT
ConverterPtr getConverter(const std::string &key) const
Try to find a suitable converter for key .
converter::ConverterSelectionStrategy< std::string >::Ptr ConverterSelectionStrategyPtr
boost::shared_ptr< Event > EventPtr
Scope is a descriptor for a hierarchical channel of the unified bus.
const string DEFAULT_HOST