SpiecsEngine
 
Loading...
Searching...
No Matches

◆ TcpConnection() [1/2]

Spices::Net::TcpConnection::TcpConnection ( EventLoop * ioLoop,
const std::string & name,
SOCKET socketFd,
const InetAddress & localAddress,
const InetAddress & peerAddress )

Constructor Function.

Parameters
[in]ioLoopIO EventLoop.
[in]nameTcpConnection identify.
[in]socketFdSOCKET.
[in]localAddressInetAddress.
[in]peerAddressInetAddress.

Definition at line 19 of file TcpConnection.cpp.

26 : m_IoLoop(ioLoop)
27 , m_Name(name)
29 , m_LocalAddress(localAddress)
30 , m_PeerAddress(peerAddress)
31 {
33
34 m_Socket = std::make_unique<Socket>(socketFd);
35 m_Socket->SetKeepAlive(true);
36
37 m_Channel = std::make_unique<Channel>(socketFd, m_IoLoop);
38 m_Channel->SetReadCallback ([=]() { HandleRead(); });
39 m_Channel->SetWriteCallback([=]() { HandleWrite(); });
40 m_Channel->SetCloseCallback([=]() { HandleClose(); });
41 m_Channel->SetErrorCallback([=]() { HandleError(); });
42 }
#define SPICES_PROFILE_ZONE
void HandleWrite()
Handle Write event.
std::atomic< State > m_State
TcpConnection state.
std::unique_ptr< Socket > m_Socket
TcpConnection socket.
InetAddress m_PeerAddress
TcpConnection PeerAddress.
InetAddress m_LocalAddress
TcpConnection LocalAddress.
std::string m_Name
TcpConnection name.
void HandleClose()
Handle Close event.
void HandleRead()
Handle Read event.
void HandleError() const
Handle Error event.
std::unique_ptr< Channel > m_Channel
TcpConnection channel.
EventLoop * m_IoLoop
io Loop from TcpServer::NewConnection.

References m_IoLoop, m_Name, and TcpConnection().

Referenced by TcpConnection().