Return Type | Function name | Arguments |
---|---|---|
hzEcode | hzIpConnex::SendData | (const hzChain&,const hzChain&,) |
Declared in file: hzIpServer.h
Defined in file : hzIpServer.cpp
Function Logic:
Function body:
hzEcode hzIpConnex::SendData (const hzChain& Hdr, const hzChain& Body) { _hzfunc("hzIpConnex::SendData(1)") ; struct epoll_event epEventNew ; if (!Hdr.Size() && !Body.Size()) { m_pLog->Log("No data queued for output\n") ; return E_NODATA ; } if (Hdr.Size() && Body.Size()) { m_Outgoing.Push(Hdr) ; m_Outgoing.Push(Body) ; } m_nTotalOut = Hdr.Size() + Body.Size() ; m_nsSendBeg = RealtimeNano() ; epEventNew.data.fd = m_nSock ; epEventNew.events = EPOLLIN | EPOLLOUT | EPOLLET ; if (epoll_ctl(s_pTheOneAndOnlyServer->s_epollSocket, EPOLL_CTL_MOD, m_nSock, &epEventNew) < 0) { m_pLog->Log("EPOLL ERROR: Could not add client connection write handler on sock %d/%d. Error=%s\n", m_nSock, m_nPort, strerror(errno)) ; if (close(m_nSock) < 0) m_pLog->Log("NOTE: Could not close socket %d after epoll error. errno=%d\n", m_nSock, errno) ; } return E_OK ; }