1
This commit is contained in:
parent
354cce97a6
commit
67880fdb53
@ -47,7 +47,7 @@ void DownStreamMgr::OnClientDisconnect(int socket_handle)
|
|||||||
socket_hash_.erase(socket_handle);
|
socket_hash_.erase(socket_handle);
|
||||||
}
|
}
|
||||||
RemovePendingAccount(socket_handle);
|
RemovePendingAccount(socket_handle);
|
||||||
MasterMgr::Instance()->RemoveRequest(socket_handle);
|
MasterMgr::Instance()->OnDownStreamDisconnect(socket_handle);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DownStreamMgr::OnUpStreamDisconnect(int instance_id)
|
void DownStreamMgr::OnUpStreamDisconnect(int instance_id)
|
||||||
|
@ -126,6 +126,10 @@ void MasterMgr::_SS_MS_HttpTunnelResponse(f8::MsgHdr* hdr, const ss::SS_MS_HttpT
|
|||||||
);
|
);
|
||||||
if (!conn.expired()) {
|
if (!conn.expired()) {
|
||||||
ss::SS_HttpTunnelRequest msg;
|
ss::SS_HttpTunnelRequest msg;
|
||||||
|
msg.set_context_id(msg.context_id());
|
||||||
|
msg.set_socket_handle(msg.socket_handle());
|
||||||
|
msg.set_url(msg.url());
|
||||||
|
msg.set_query_str(msg.query_str());
|
||||||
conn.lock()->SendMsg(req->socket_handle, msg);
|
conn.lock()->SendMsg(req->socket_handle, msg);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
@ -135,6 +139,9 @@ void MasterMgr::_SS_MS_HttpTunnelResponse(f8::MsgHdr* hdr, const ss::SS_MS_HttpT
|
|||||||
req->request->GetResp()->SetVal("errcode", 500);
|
req->request->GetResp()->SetVal("errcode", 500);
|
||||||
req->request->GetResp()->SetVal("errmsg", "server internal error");
|
req->request->GetResp()->SetVal("errmsg", "server internal error");
|
||||||
req->request->Response();
|
req->request->Response();
|
||||||
|
if (!req->timer_wp.expired()) {
|
||||||
|
f8::Timer::Instance()->Delete(req->timer_wp);
|
||||||
|
}
|
||||||
RemoveHttpTunnelRequest(req->socket_handle);
|
RemoveHttpTunnelRequest(req->socket_handle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -247,6 +254,19 @@ void MasterMgr::RequestTargetServer(f8::MsgHdr* hdr,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MasterMgr::OnDownStreamDisconnect(int socket_handle)
|
||||||
|
{
|
||||||
|
{
|
||||||
|
auto req = GetHttpTunnelRequestBySocket(socket_handle);
|
||||||
|
if (req) {
|
||||||
|
if (!req->timer_wp.expired()) {
|
||||||
|
f8::Timer::Instance()->Delete(req->timer_wp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
RemoveRequest(socket_handle);
|
||||||
|
}
|
||||||
|
|
||||||
void MasterMgr::RemoveRequest(int socket_handle)
|
void MasterMgr::RemoveRequest(int socket_handle)
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
|
@ -39,10 +39,11 @@ class MasterMgr : public a8::Singleton<MasterMgr>
|
|||||||
const std::string& server_info,
|
const std::string& server_info,
|
||||||
int is_reconnect,
|
int is_reconnect,
|
||||||
int proto_version);
|
int proto_version);
|
||||||
void RemoveRequest(int socket_handle);
|
void OnDownStreamDisconnect(int socket_handle);
|
||||||
void AddHttpTunnelRequest(int socket_handle, std::shared_ptr<f8::JsonHttpRequest> request);
|
void AddHttpTunnelRequest(int socket_handle, std::shared_ptr<f8::JsonHttpRequest> request);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void RemoveRequest(int socket_handle);
|
||||||
std::shared_ptr<HttpTunnelRequest> GetHttpTunnelRequestBySocket(int socket_handle);
|
std::shared_ptr<HttpTunnelRequest> GetHttpTunnelRequestBySocket(int socket_handle);
|
||||||
std::shared_ptr<HttpTunnelRequest> GetHttpTunnelRequestByContextId(long long conext_id);
|
std::shared_ptr<HttpTunnelRequest> GetHttpTunnelRequestByContextId(long long conext_id);
|
||||||
std::shared_ptr<RequestTarget> GetRequestBySocket(int socket_handle);
|
std::shared_ptr<RequestTarget> GetRequestBySocket(int socket_handle);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user