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>>