wsproxy/server/wsproxy/downstream.h
2023-04-25 03:31:56 +00:00

26 lines
666 B
C++

#pragma once
class UpStream;
class LongSession;
class DownStream
{
public:
void Init(int socket_handle, std::weak_ptr<UpStream> up);
int GetSocketHandle() const { return socket_handle_; }
std::weak_ptr<UpStream> GetUpStream() const { return up_; }
void ReBindUpStream(std::weak_ptr<UpStream> up);
bool IsLongSession() { return is_long_session_; }
void ProcCMMsg(f8::MsgHdr& hdr, int tag);
void ForwardUpStreamMsg(f8::MsgHdr& hdr);
void OnClose();
private:
int socket_handle_ = a8::INVALID_SOCKET_HANDLE;
std::weak_ptr<UpStream> up_;
bool is_long_session_ = false;
std::weak_ptr<LongSession> long_session_wp_;
};