Go to the source code of this file.
Go to the SVN repository for this file.
void ConfigureSockets (const CNcbiRegistry *reg, CTempString section) bool ReConfig_Sockets (const CTempString §ion, const CNcbiRegistry &new_reg, string &) void WriteSetup_Sockets (CSrvSocketTask &task) void AssignThreadSocks (SSrvThread *thr) void ReleaseThreadSocks (SSrvThread *thr) static void s_LogWithErrStr (CSrvDiagMsg::ESeverity severity, const char *err_msg, int x_errno, const char *errno_str, const char *file, int line, const char *func) static void s_LogWithErrno (CSrvDiagMsg::ESeverity severity, const char *err_msg, int x_errno, const char *file, int line, const char *func) static bool s_SetSocketNonBlock (int sock) static bool s_SetSocketOptions (int sock) static void s_SetSocketQuickAck (int sock) static bool s_CreateListeningSocket (Uint1 idx) static bool s_StartListening (void) static void s_RegisterListenEvent (SListenSockInfo *sock_info, Uint4 event) static void s_RegisterClientEvent (CSrvSocketTask *task, Uint4 event) static void s_LogSocketError (CSrvDiagMsg::ESeverity severity, int fd, const char *prefix, const char *file, int line, const char *func) static void s_CloseSocket (int fd, bool do_abort) static void s_CleanSockResources (CSrvSocketTask *task) static void s_CreateDiagRequest (CSrvSocketTask *task, Uint2 port, Uint4 phost, Uint2 pport) static void s_ProcessListenError (Uint1 sock_idx) static void s_ProcessListenEvent (Uint1 sock_idx, TSrvThreadNum thread_num) void DoSocketWait (void) bool InitSocketsMan (void) bool StartSocketsMan (void) void FinalizeSocketsMan (void) static void s_SaveSocket (CSrvSocketTask *task) void s_DeleteOldestSockets (TSockList &lst) void MoveAllSockets (SSocketsData *dst_socks, SSocketsData *src_socks) void PromoteSockAmount (SSocketsData *socks) void CheckConnectsTimeout (SSocketsData *socks) void CleanSocketList (SSocketsData *socks) void SetAllSocksRunnable (SSocketsData *socks) void RequestStopListening (void) static size_t s_ReadFromSocket (CSrvSocketTask *task, void *buf, size_t size) static size_t s_WriteToSocket (CSrvSocketTask *task, const void *buf, size_t size) static void s_CompactBuffer (char *buf, Uint2 &size, Uint2 &pos) static void s_ReadLF (CSrvSocketTask *task) static Uint2 s_ReadFromBuffer (CSrvSocketTask *task, void *dest, size_t size) static void s_CopyData (CSrvSocketTask *task, const void *buf, Uint2 size) static size_t s_WriteNoPending (CSrvSocketTask *task, const void *buf, size_t size) static void s_FlushData (CSrvSocketTask *task) static void s_CompactWrBuffer (CSrvSocketTask *task) static void s_DoDataProxy (CSrvSocketTask *src) ◆ EPOLLERR ◆ EPOLLHUP ◆ EPOLLIN ◆ EPOLLOUT ◆ EPOLLRDHUP ◆ LOG_SOCK_ERROR ◆ LOG_WITH_ERRNO #define LOG_WITH_ERRNO ( sev, msg, x_errno ) Value:#define NCBI_CURRENT_FUNCTION
Get current function name.
static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
static void s_LogWithErrno(CSrvDiagMsg::ESeverity severity, const char *err_msg, int x_errno, const char *file, int line, const char *func)
Definition at line 245 of file sockets_man.cpp.
◆ TSockList ◆ AssignThreadSocks() ◆ CheckConnectsTimeout() ◆ CleanSocketList() ◆ ConfigureSockets()Definition at line 177 of file sockets_man.cpp.
References IRegistry::GetInt(), kNSecsPerMSec, kUSecsPerMSec, CSrvTime::NSec(), s_AcceptDelay, s_ConnTimeout, s_HardSocketLimit, s_JiffyTime, s_OldSocksDelBatch, s_SocketTimeout, and s_SoftSocketLimit.
Referenced by ReConfig_Sockets(), and s_ReadConfiguration().
◆ DoSocketWait() void DoSocketWait ( void )Definition at line 623 of file sockets_man.cpp.
References Critical(), i, if(), SSrvSocketInfo::is_listening, kEpollEventsArraySize, LOG_WITH_ERRNO, CSrvTime::NSec(), s_EpollFD, s_JiffyTime, s_RegisterClientEvent(), and s_RegisterListenEvent().
Referenced by RunMainThread().
◆ FinalizeSocketsMan() void FinalizeSocketsMan ( void ) ◆ InitSocketsMan() bool InitSocketsMan ( void ) ◆ MoveAllSockets() ◆ PromoteSockAmount() ◆ ReConfig_Sockets() ◆ ReleaseThreadSocks() ◆ RequestStopListening() void RequestStopListening ( void ) ◆ s_CleanSockResources()Definition at line 457 of file sockets_man.cpp.
References ctx, GetCurThread(), CSrvTask::GetDiagCtx(), kUSecsPerSecond, CSrvSocketTask::m_Fd, CSrvSocketTask::m_ReadBytes, CSrvSocketTask::m_WrittenBytes, CSrvTask::ReleaseDiagCtx(), CSrvStat::SockClose(), SSrvThread::stat, CSrvDiagMsg::StopRequest(), and thr.
Referenced by CSrvSocketTask::x_CloseSocket().
◆ s_CloseSocket()Definition at line 426 of file sockets_man.cpp.
References AtomicSub(), close(), Critical(), lgr(), LOG_WITH_ERRNO, s_TotalSockets, and val.
Referenced by CSrvSocketTask::Connect(), CSrvListener::ExecuteSlice(), s_ProcessListenError(), s_ProcessListenEvent(), CSrvSocketTask::x_CloseSocket(), and CSrvSocketTask::~CSrvSocketTask().
◆ s_CompactBuffer() ◆ s_CompactWrBuffer() ◆ s_CopyData() ◆ s_CreateDiagRequest()Definition at line 540 of file sockets_man.cpp.
References CSrvTask::CreateNewDiagCtx(), CSrvTask::GetDiagCtx(), CRequestContext::GetRequestID(), CTaskServer::IPToString(), CSrvSocketTask::m_ConnReqId, CSrvSocketTask::m_ReadBytes, CSrvSocketTask::m_WrittenBytes, CSrvDiagMsg::PrintParam(), CRequestContext::SetClientIP(), CSrvDiagMsg::StartRequest(), and NStr::UInt8ToString().
Referenced by CSrvSocketTask::Connect(), and s_ProcessListenEvent().
◆ s_CreateListeningSocket()Definition at line 314 of file sockets_man.cpp.
References AtomicAdd(), close(), Critical(), EPOLLIN, Error(), SListenSockInfo::fd, INADDR_ANY, LOG_WITH_ERRNO, NStr::NumericToString(), SListenSockInfo::port, s_EpollFD, s_ListenSocks, s_SetSocketNonBlock(), s_TotalSockets, and rapidjson::value.
Referenced by CTaskServer::AddListeningPort(), s_ProcessListenError(), s_ProcessListenEvent(), and s_StartListening().
◆ s_DeleteOldestSockets() void s_DeleteOldestSockets ( TSockList & lst ) ◆ s_DoDataProxy()Definition at line 993 of file sockets_man.cpp.
References _ASSERT, kSockMinWriteSize, kSockReadBufSize, CSrvSocketTask::m_ProxyDst, CSrvSocketTask::m_ProxyHadError, CSrvSocketTask::m_ProxySize, CSrvSocketTask::m_ProxySrc, CSrvSocketTask::m_RdBuf, CSrvSocketTask::m_RdPos, CSrvSocketTask::m_RdSize, CSrvSocketTask::m_WrBuf, CSrvSocketTask::m_WrMemSize, CSrvSocketTask::m_WrSize, CSrvSocketTask::NeedEarlyClose(), NULL, CSrvSocketTask::ReadToBuf(), s_CompactWrBuffer(), s_FlushData(), s_ReadFromSocket(), CSrvTask::SetRunnable(), ncbi::grid::netcache::search::fields::size, and CSrvSocketTask::Write().
Referenced by CSrvSocketTask::InternalRunSlice(), and CSrvSocketTask::StartProxyTo().
◆ s_FlushData() ◆ s_LogSocketError() ◆ s_LogWithErrno() ◆ s_LogWithErrStr() ◆ s_ProcessListenError() ◆ s_ProcessListenEvent()Definition at line 570 of file sockets_man.cpp.
References CSrvTime::AsUSec(), AtomicAdd(), CSrvSocketFactory::CreateSocketTask(), Critical(), CSrvTime::Current(), Error(), SListenSockInfo::factory, SListenSockInfo::fd, len, LOG_WITH_ERRNO, CSrvSocketTask::m_Fd, CSrvSocketTask::m_PeerAddr, CSrvSocketTask::m_PeerPort, CSrvListener::m_SeenEvents, s_AcceptDelay, s_CloseSocket(), s_CreateDiagRequest(), s_CreateListeningSocket(), s_HardSocketLimit, s_Listener, s_ListenEvents, s_ListenSocks, s_SetSocketNonBlock(), s_SetSocketOptions(), s_Threads, s_TotalSockets, CSrvStat::SockOpenPassive(), SRV_LOG, CSrvSocketTask::StartProcessing(), SSrvThread::stat, CSrvSocketTask::Terminate(), and Warning().
Referenced by CSrvListener::ExecuteSlice().
◆ s_ReadFromBuffer() ◆ s_ReadFromSocket()Definition at line 846 of file sockets_man.cpp.
References buf, LOG_WITH_ERRNO, CSrvSocketTask::m_Fd, CSrvSocketTask::m_ReadBytes, CSrvSocketTask::m_RegError, CSrvSocketTask::m_RegReadEvts, CSrvSocketTask::m_RegReadHup, CSrvSocketTask::m_SeenReadEvts, CSrvSocketTask::m_SockCanReadMore, CSrvSocketTask::m_SockHasRead, ncbi::grid::netcache::search::fields::size, and Warning().
Referenced by CSrvSocketTask::Read(), CSrvSocketTask::ReadToBuf(), and s_DoDataProxy().
◆ s_ReadLF() ◆ s_RegisterClientEvent()Definition at line 390 of file sockets_man.cpp.
References EPOLLERR, EPOLLHUP, EPOLLIN, EPOLLOUT, EPOLLRDHUP, CSrvSocketTask::m_RegError, CSrvSocketTask::m_RegReadEvts, CSrvSocketTask::m_RegReadHup, CSrvSocketTask::m_RegWriteEvts, CSrvSocketTask::m_SeenReadEvts, CSrvSocketTask::m_SeenWriteEvts, and CSrvTask::SetRunnable().
Referenced by DoSocketWait().
◆ s_RegisterListenEvent() ◆ s_SaveSocket() ◆ s_SetSocketNonBlock() ◆ s_SetSocketOptions() ◆ s_SetSocketQuickAck() ◆ s_StartListening() ◆ s_WriteNoPending() ◆ s_WriteToSocket()Definition at line 885 of file sockets_man.cpp.
References buf, LOG_WITH_ERRNO, CSrvSocketTask::m_Fd, CSrvSocketTask::m_RegError, CSrvSocketTask::m_RegWriteEvts, CSrvSocketTask::m_SeenWriteEvts, CSrvSocketTask::m_SockCanWrite, CSrvSocketTask::m_WrittenBytes, ncbi::grid::netcache::search::fields::size, and Warning().
Referenced by s_FlushData(), s_WriteNoPending(), and CSrvSocketTask::Write().
◆ SetAllSocksRunnable() ◆ StartSocketsMan() bool StartSocketsMan ( void ) ◆ WriteSetup_Sockets()Definition at line 196 of file sockets_man.cpp.
References kNSecsPerMSec, kUSecsPerMSec, CSrvTime::NSec(), s_AcceptDelay, s_ConnTimeout, s_HardSocketLimit, s_JiffyTime, s_OldSocksDelBatch, s_SocketTimeout, s_SoftSocketLimit, CSrvSocketTask::WriteNumber(), and CSrvSocketTask::WriteText().
Referenced by CTaskServer::WriteSetup().
◆ kEpollEventsArraySize ◆ kMaxCntListeningSocks ◆ kSockMinWriteSize ◆ kSockReadBufSize ◆ kSockWriteBufSize ◆ s_AcceptDelay Uint8 s_AcceptDelay = 1000000 static ◆ s_AllSocketsCount int s_AllSocketsCount = 0 ◆ s_CntListeningSocks Uint1 s_CntListeningSocks = 0 static ◆ s_ConnTimeout ◆ s_CurJiffies ◆ s_EpollFD ◆ s_HardSocketLimit int s_HardSocketLimit = 0 ◆ s_HostName ◆ s_JiffyTime ◆ s_Listener ◆ s_ListenErrors ◆ s_ListenEvents ◆ s_ListenSocks ◆ s_ListenSocksLock ◆ s_OldSocksDelBatch Uint1 s_OldSocksDelBatch = 0 static ◆ s_SocketTimeout ◆ s_SoftSocketLimit int s_SoftSocketLimit = 0 ◆ s_Threads ◆ s_TotalSocketsRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4