33 const std::string &clientAddress,
34 std::shared_ptr<IceFlow> iceflow);
38 void reportCongestion(CongestionReason congestionReason,
39 const std::string &edgeName)
override;
41 void registerConsumer(
const std::string &edgeName,
42 std::shared_ptr<IceflowConsumer> consumer);
44 void deregisterConsumer(
const std::string &edgeName);
46 void registerProducer(
const std::string &edgeName,
47 std::shared_ptr<IceflowProducer> producer);
49 void deregisterProducer(
const std::string &edgeName);
52 void runGrpcServer(
const std::string &address);
54 void runGrpcClient(
const std::string &address);
57 const std::string &m_serverAddress;
59 const std::string &m_clientAddress;
61 std::shared_ptr<IceFlow> m_iceflow;
63 std::shared_ptr<iceflow::NodeInstanceService> m_instanceService;
65 std::unique_ptr<grpc::Server> m_server;
67 std::unique_ptr<NodeExecutor::Stub> m_nodeExecutorService;
69 std::unordered_map<std::string, std::shared_ptr<IceflowConsumer>>
72 std::unordered_map<std::string, std::shared_ptr<IceflowProducer>>