mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
Increase maximum size of http request
This commit is contained in:
parent
33a079962f
commit
836184e566
4 changed files with 14 additions and 12 deletions
|
@ -825,11 +825,9 @@ class RldpToTcpRequestSender : public td::actor::Actor {
|
||||||
}
|
}
|
||||||
|
|
||||||
void got_result(std::pair<std::unique_ptr<ton::http::HttpResponse>, std::shared_ptr<ton::http::HttpPayload>> R) {
|
void got_result(std::pair<std::unique_ptr<ton::http::HttpResponse>, std::shared_ptr<ton::http::HttpPayload>> R) {
|
||||||
if (R.first->need_payload()) {
|
td::actor::create_actor<HttpRldpPayloadSender>("HttpPayloadSender(R)", std::move(R.second), id_, local_id_, adnl_,
|
||||||
td::actor::create_actor<HttpRldpPayloadSender>("HttpPayloadSender(R)", std::move(R.second), id_, local_id_, adnl_,
|
rldp_)
|
||||||
rldp_)
|
.release();
|
||||||
.release();
|
|
||||||
}
|
|
||||||
auto f = ton::serialize_tl_object(R.first->store_tl(), true);
|
auto f = ton::serialize_tl_object(R.first->store_tl(), true);
|
||||||
promise_.set_value(std::move(f));
|
promise_.set_value(std::move(f));
|
||||||
stop();
|
stop();
|
||||||
|
@ -1092,6 +1090,7 @@ class RldpHttpProxy : public td::actor::Actor {
|
||||||
}
|
}
|
||||||
|
|
||||||
rldp_ = ton::rldp::Rldp::create(adnl_.get());
|
rldp_ = ton::rldp::Rldp::create(adnl_.get());
|
||||||
|
td::actor::send_closure(rldp_, &ton::rldp::Rldp::set_default_mtu, 16 << 10);
|
||||||
td::actor::send_closure(rldp_, &ton::rldp::Rldp::add_id, local_id_);
|
td::actor::send_closure(rldp_, &ton::rldp::Rldp::add_id, local_id_);
|
||||||
for (auto &serv_id : server_ids_) {
|
for (auto &serv_id : server_ids_) {
|
||||||
td::actor::send_closure(rldp_, &ton::rldp::Rldp::add_id, serv_id);
|
td::actor::send_closure(rldp_, &ton::rldp::Rldp::add_id, serv_id);
|
||||||
|
|
|
@ -71,7 +71,7 @@ class RldpIn : public RldpImpl {
|
||||||
|
|
||||||
void send_query(adnl::AdnlNodeIdShort src, adnl::AdnlNodeIdShort dst, std::string name,
|
void send_query(adnl::AdnlNodeIdShort src, adnl::AdnlNodeIdShort dst, std::string name,
|
||||||
td::Promise<td::BufferSlice> promise, td::Timestamp timeout, td::BufferSlice data) override {
|
td::Promise<td::BufferSlice> promise, td::Timestamp timeout, td::BufferSlice data) override {
|
||||||
send_query_ex(src, dst, name, std::move(promise), timeout, std::move(data), default_mtu());
|
send_query_ex(src, dst, name, std::move(promise), timeout, std::move(data), default_mtu_);
|
||||||
}
|
}
|
||||||
void send_query_ex(adnl::AdnlNodeIdShort src, adnl::AdnlNodeIdShort dst, std::string name,
|
void send_query_ex(adnl::AdnlNodeIdShort src, adnl::AdnlNodeIdShort dst, std::string name,
|
||||||
td::Promise<td::BufferSlice> promise, td::Timestamp timeout, td::BufferSlice data,
|
td::Promise<td::BufferSlice> promise, td::Timestamp timeout, td::BufferSlice data,
|
||||||
|
@ -101,6 +101,10 @@ class RldpIn : public RldpImpl {
|
||||||
void add_id(adnl::AdnlNodeIdShort local_id) override;
|
void add_id(adnl::AdnlNodeIdShort local_id) override;
|
||||||
void get_conn_ip_str(adnl::AdnlNodeIdShort l_id, adnl::AdnlNodeIdShort p_id, td::Promise<td::string> promise) override;
|
void get_conn_ip_str(adnl::AdnlNodeIdShort l_id, adnl::AdnlNodeIdShort p_id, td::Promise<td::string> promise) override;
|
||||||
|
|
||||||
|
void set_default_mtu(td::uint64 mtu) override {
|
||||||
|
default_mtu_ = mtu;
|
||||||
|
}
|
||||||
|
|
||||||
RldpIn(td::actor::ActorId<adnl::AdnlPeerTable> adnl) : adnl_(adnl) {
|
RldpIn(td::actor::ActorId<adnl::AdnlPeerTable> adnl) : adnl_(adnl) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -116,6 +120,7 @@ class RldpIn : public RldpImpl {
|
||||||
std::set<TransferId> lru_set_;
|
std::set<TransferId> lru_set_;
|
||||||
RldpLru lru_;
|
RldpLru lru_;
|
||||||
td::uint32 lru_size_ = 0;
|
td::uint32 lru_size_ = 0;
|
||||||
|
td::uint64 default_mtu_ = adnl::Adnl::get_mtu();
|
||||||
|
|
||||||
std::map<TransferId, td::uint64> max_size_;
|
std::map<TransferId, td::uint64> max_size_;
|
||||||
|
|
||||||
|
|
|
@ -116,9 +116,9 @@ void RldpIn::process_message_part(adnl::AdnlNodeIdShort source, adnl::AdnlNodeId
|
||||||
}
|
}
|
||||||
auto ite = max_size_.find(part.transfer_id_);
|
auto ite = max_size_.find(part.transfer_id_);
|
||||||
if (ite == max_size_.end()) {
|
if (ite == max_size_.end()) {
|
||||||
if (static_cast<td::uint64>(part.total_size_) > default_mtu()) {
|
if (static_cast<td::uint64>(part.total_size_) > default_mtu_) {
|
||||||
VLOG(RLDP_NOTICE) << "dropping too big rldp packet of size=" << part.total_size_
|
VLOG(RLDP_NOTICE) << "dropping too big rldp packet of size=" << part.total_size_
|
||||||
<< " default_mtu=" << default_mtu();
|
<< " default_mtu=" << default_mtu_;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -28,15 +28,13 @@ class Rldp : public adnl::AdnlSenderInterface {
|
||||||
public:
|
public:
|
||||||
virtual ~Rldp() = default;
|
virtual ~Rldp() = default;
|
||||||
|
|
||||||
static constexpr td::uint64 default_mtu() {
|
|
||||||
return adnl::Adnl::get_mtu();
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual void add_id(adnl::AdnlNodeIdShort local_id) = 0;
|
virtual void add_id(adnl::AdnlNodeIdShort local_id) = 0;
|
||||||
|
|
||||||
virtual void send_message_ex(adnl::AdnlNodeIdShort src, adnl::AdnlNodeIdShort dst, td::Timestamp timeout,
|
virtual void send_message_ex(adnl::AdnlNodeIdShort src, adnl::AdnlNodeIdShort dst, td::Timestamp timeout,
|
||||||
td::BufferSlice data) = 0;
|
td::BufferSlice data) = 0;
|
||||||
|
|
||||||
|
virtual void set_default_mtu(td::uint64 mtu) = 0;
|
||||||
|
|
||||||
static td::actor::ActorOwn<Rldp> create(td::actor::ActorId<adnl::Adnl> adnl);
|
static td::actor::ActorOwn<Rldp> create(td::actor::ActorId<adnl::Adnl> adnl);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue