mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
Tunnel reinit support + Fixed packets recv through tunnel
This commit is contained in:
parent
d287bafa15
commit
374e75932f
11 changed files with 177 additions and 80 deletions
|
@ -109,6 +109,10 @@ class AdnlNetworkManagerImpl : public AdnlNetworkManager {
|
|||
callback_ = std::move(callback);
|
||||
}
|
||||
|
||||
void install_tunnel_events_handler(std::unique_ptr<TunnelEventsHandler> handler) override {
|
||||
tunnel_events_handler_ = std::move(handler);
|
||||
}
|
||||
|
||||
void alarm() override;
|
||||
void start_up() override {
|
||||
alarm_timestamp() = td::Timestamp::in(60.0);
|
||||
|
@ -131,8 +135,8 @@ class AdnlNetworkManagerImpl : public AdnlNetworkManager {
|
|||
in_desc_.push_back(std::move(desc));
|
||||
}
|
||||
|
||||
void add_tunnel(td::uint16 port, AdnlCategoryMask cat_mask, td::uint32 priority,
|
||||
td::Promise<td::IPAddress> on_ready) override;
|
||||
void add_tunnel(std::string global_config, std::string tunnel_config, AdnlCategoryMask cat_mask, td::uint32 priority, td::Promise<td::IPAddress> on_ready,
|
||||
td::actor::Scheduler *scheduler) override;
|
||||
void add_self_addr(td::IPAddress addr, AdnlCategoryMask cat_mask, td::uint32 priority) override;
|
||||
void add_proxy_addr(td::IPAddress addr, td::uint16 local_port, std::shared_ptr<AdnlProxy> proxy,
|
||||
AdnlCategoryMask cat_mask, td::uint32 priority) override;
|
||||
|
@ -147,13 +151,14 @@ class AdnlNetworkManagerImpl : public AdnlNetworkManager {
|
|||
}
|
||||
}
|
||||
|
||||
size_t add_tunnel_udp_port(td::uint16 port, td::Promise<td::IPAddress> on_ready);
|
||||
size_t add_tunnel_udp_port(std::string global_config, std::string tunnel_config, td::Promise<td::IPAddress> on_ready, td::actor::Scheduler *scheduler);
|
||||
size_t add_listening_udp_port(td::uint16 port);
|
||||
void receive_udp_message(td::UdpMessage message, size_t idx);
|
||||
void proxy_register(OutDesc &desc);
|
||||
|
||||
private:
|
||||
std::unique_ptr<Callback> callback_;
|
||||
std::unique_ptr<TunnelEventsHandler> tunnel_events_handler_;
|
||||
|
||||
std::map<td::uint32, std::vector<OutDesc>> out_desc_;
|
||||
std::vector<InDesc> in_desc_;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue