21 const std::string& setup_endpoint,
22 const std::string& inbound_endpoint,
23 const std::string& outbound_endpoint,
25 uint16_t inbound_port,
26 uint16_t outbound_port,
30 std::unique_ptr<E3Connector> conn;
34 conn = std::make_unique<ZmqE3Connector>(
35 transport_layer, setup_endpoint, inbound_endpoint, outbound_endpoint,
36 setup_port, inbound_port, outbound_port, io_threads
45 <<
"ZMQ link layer requested but libe3 was built with "
46 "LIBE3_ENABLE_ZMQ=OFF";
51 conn = std::make_unique<PosixE3Connector>(
52 transport_layer, setup_endpoint, inbound_endpoint, outbound_endpoint,
53 setup_port, inbound_port, outbound_port
58 E3_LOG_ERROR(
"ConnFactory") <<
"Unsupported link layer: "
59 <<
static_cast<int>(link_layer);
62 if (conn) conn->set_role(role);
std::unique_ptr< E3Connector > create_connector(E3LinkLayer link_layer, E3TransportLayer transport_layer, const std::string &setup_endpoint, const std::string &inbound_endpoint, const std::string &outbound_endpoint, uint16_t setup_port, uint16_t inbound_port, uint16_t outbound_port, size_t io_threads=2, E3Role role=E3Role::RAN)
Factory function to create appropriate connector.