5 #ifndef SKYWAY_PLUGIN_UDP_PIPE_BINARY_PLUGIN_ROUTER_H 6 #define SKYWAY_PLUGIN_UDP_PIPE_BINARY_PLUGIN_ROUTER_H 8 #include <fruit/fruit.h> 12 #include "../socket/udp_socket.h" 16 using fruit::Component;
17 using fruit::createComponent;
18 using fruit::Injector;
24 std::vector<boost::shared_ptr<skyway_plugin::SkyWayBinaryPlugin>>
plugins_;
27 std::shared_ptr<rapidjson::Document>
config_;
36 ASSISTED(udp::endpoint) target_socket,
41 virtual uint16_t
Port()
override;
46 Component<fruit::Annotated<BinaryAnnotation, PluginRouterFactory>>
49 #endif // SKYWAY_PLUGIN_UDP_PIPE_BINARY_PLUGIN_ROUTER_H virtual uint16_t Port() override
void observe_plugins(std::vector< uint8_t > data)
Component< fruit::Annotated< BinaryAnnotation, PluginRouterFactory > > getBinaryPluginRouterComponent()
std::function< std::unique_ptr< Socket >(udp::endpoint, std::shared_ptr< std::function< void(std::vector< uint8_t >)> >)> SocketFactory
void observe_socket(std::vector< uint8_t > data)
pluginlib::ClassLoader< skyway_plugin::SkyWayBinaryPlugin > plugin_loader_
BinaryPluginRouter()=delete
std::shared_ptr< rapidjson::Document > config_
std::unique_ptr< Socket > socket_
udp::endpoint target_socket_
virtual PluginResult TryStart() override
std::vector< boost::shared_ptr< skyway_plugin::SkyWayBinaryPlugin > > plugins_
ASSISTED(udp::endpoint) target_socket