#include <C4NetIO.h>
Classes | |
class | CBClass |
class | CBProxy |
struct | EndpointAddress |
struct | HostAddress |
Public Types | |
typedef EndpointAddress | addr_t |
Public Member Functions | |
C4NetIO () | |
~C4NetIO () override | |
virtual bool | Init (uint16_t iPort=addr_t::IPPORT_NONE)=0 |
virtual bool | Close ()=0 |
bool | Execute (int iTimeout=-1, pollfd *=nullptr) override=0 |
bool | IsNotify () override |
virtual bool | Connect (const addr_t &addr)=0 |
virtual bool | Close (const addr_t &addr)=0 |
virtual bool | Send (const class C4NetIOPacket &rPacket)=0 |
virtual bool | SetBroadcast (const addr_t &addr, bool fSet=true)=0 |
virtual bool | Broadcast (const class C4NetIOPacket &rPacket)=0 |
virtual bool | GetStatistic (int *pBroadcastRate)=0 |
virtual bool | GetConnStatistic (const addr_t &addr, int *pIRate, int *pORate, int *pLoss)=0 |
virtual void | ClearStatistic ()=0 |
virtual const char * | GetError () const |
void | ResetError () |
virtual void | SetCallback (CBClass *pnCallback)=0 |
bool | ExecuteUntil (int iTimeout=-1) |
virtual void | GetFDs (std::vector< struct pollfd > &) |
virtual C4TimeMilliseconds | GetNextTick (C4TimeMilliseconds tNow) |
bool | IsSignaled () |
virtual bool | IsLowPriority () |
virtual uint32_t | TimerInterval () |
Static Public Member Functions | |
static std::vector< HostAddress > | GetLocalAddresses () |
Static Public Attributes | |
static const int | TO_INF = -1 |
Protected Member Functions | |
bool | InitIPv6Socket (SOCKET socket) |
void | SetError (const char *strnError, bool fSockErr=false) |
void | Changed () |
Protected Attributes | |
StdCopyStrBuf | Error |
typedef EndpointAddress C4NetIO::addr_t |
C4NetIO::C4NetIO | ( | ) |
Definition at line 723 of file C4NetIO.cpp.
References ResetError().
|
overridedefault |
|
pure virtual |
|
protectedinherited |
Definition at line 108 of file StdScheduler.cpp.
References s.
Referenced by C4NetIOTCP::Accept(), C4NetIOTCP::AddConnectWait(), C4NetIOUDP::AddPeer(), C4NetIOTCP::Listen(), and CStdTimerProc::SetDelay().
|
pure virtual |
Implemented in C4NetIOUDP, C4NetIOSimpleUDP, and C4NetIOTCP.
Referenced by C4Network2IO::GenerateStatistics().
|
pure virtual |
Implemented in C4Network2IRCClient, C4AulDebug, C4Network2IRCClient, C4Network2IRCClient, C4NetIOUDP, C4NetIOSimpleUDP, and C4NetIOTCP.
Referenced by C4Network2IOConnection::Close(), and C4Network2IO::HandlePuncherPacket().
|
pure virtual |
Implemented in C4AulDebug, C4NetIOUDP, C4NetIOSimpleUDP, and C4NetIOTCP.
|
pure virtual |
Implemented in C4NetIOUDP, C4NetIOSimpleUDP, and C4NetIOTCP.
Referenced by C4Network2IOConnection::Connect(), and C4Network2IO::InitPuncher().
|
overridepure virtual |
Implements StdSchedulerProc.
Implemented in C4NetIOTCP, C4NetIOUDP, and C4NetIOSimpleUDP.
|
inherited |
Definition at line 33 of file StdScheduler.cpp.
References StdSchedulerProc::Execute(), and C4TimeMilliseconds::Now().
Referenced by main().
|
pure virtual |
Implemented in C4NetIOUDP, C4NetIOSimpleUDP, and C4NetIOTCP.
Referenced by C4Network2IOConnection::DoStatistics().
|
inlinevirtual |
Definition at line 286 of file C4NetIO.h.
References Error, and StdStrBuf::getData().
Referenced by C4Network2IO::ConnectWithSocket(), C4NetIOUDP::DoLoopbackTest(), C4StartupNetDlg::DoRefresh(), C4Network2IO::Init(), C4NetIOUDP::InitBroadcast(), main(), MyCBClass::OnConn(), C4ChatControl::OnConnectBtn(), MyCBClass::OnPacket(), C4ChatControl::ProcessInput(), and C4Network2IOConnection::Send().
|
inlinevirtualinherited |
Reimplemented in C4FileMonitor, C4NetIOSimpleUDP, C4NetIOTCP, CStdNotifyProc, C4StdInProc, and C4HTTPClient.
Definition at line 72 of file StdScheduler.h.
|
static |
Definition at line 631 of file C4NetIO.cpp.
References C4NetIO::HostAddress::IsLoopback(), and C4NetIO::HostAddress::SetHost().
Referenced by C4Network2Client::AddLocalAddrs(), and C4NetIOUDP::InitBroadcast().
|
virtualinherited |
Reimplemented in CStdTimerProc, C4Network2IO, C4NetIOUDP, and C4HTTPClient.
Definition at line 115 of file StdScheduler.cpp.
References C4TimeMilliseconds::PositiveInfinity.
|
pure virtual |
Implemented in C4NetIOUDP, C4NetIOSimpleUDP, and C4NetIOTCP.
Referenced by C4Network2IO::GenerateStatistics().
|
pure virtual |
Implemented in C4Network2IODiscoverClient, C4Network2IODiscover, C4NetIOUDP, C4NetIOSimpleUDP, C4NetIOTCP, and C4AulDebug.
Referenced by C4Network2IO::Init().
|
protected |
Definition at line 730 of file C4NetIO.cpp.
References SetError(), and SOCKET_ERROR.
Referenced by C4NetIOTCP::CreateSocket(), C4NetIOSimpleUDP::Init(), and C4NetIOTCP::Listen().
|
inlinevirtualinherited |
Definition at line 82 of file StdScheduler.h.
|
inlineoverridevirtual |
|
inherited |
|
inline |
Definition at line 287 of file C4NetIO.h.
References StdStrBuf::Clear(), and Error.
Referenced by C4NetIO(), C4NetIOTCP::Close(), C4NetIOSimpleUDP::Close(), C4NetIOUDP::CloseBroadcast(), C4Network2IO::ConnectWithSocket(), C4NetIOSimpleUDP::Execute(), C4NetIOUDP::Execute(), C4NetIOSimpleUDP::Init(), C4NetIOSimpleUDP::InitBroadcast(), C4NetIOUDP::InitBroadcast(), C4NetIOSimpleUDP::Send(), and C4Network2IOConnection::Send().
|
pure virtual |
Referenced by main(), MyCBClass::OnConn(), MyCBClass::OnPacket(), C4Network2IOConnection::Send(), and C4Network2IO::SendPuncherPacket().
|
pure virtual |
Implemented in C4NetIOUDP, C4NetIOSimpleUDP, and C4NetIOTCP.
Referenced by C4Network2IOConnection::SetBroadcastTarget().
|
pure virtual |
Implemented in C4NetIOUDP, C4NetIOSimpleUDP, and C4NetIOTCP.
Referenced by C4NetIOMan::AddIO(), and C4Network2IO::Init().
|
protected |
Definition at line 750 of file C4NetIO.cpp.
References StdStrBuf::Copy(), Error, StdStrBuf::Format(), GetSocketErrorMsg(), and HaveSocketError().
Referenced by C4NetIOTCP::Accept(), C4NetIOTCP::Bind(), C4NetIOSimpleUDP::CloseBroadcast(), C4NetIOTCP::Connect(), C4Network2IRCClient::Connect(), C4NetIOTCP::CreateSocket(), C4NetIOUDP::DoLoopbackTest(), C4NetIOSimpleUDP::Execute(), C4NetIOUDP::Execute(), C4NetIOTCP::Execute(), C4NetIOTCP::Init(), C4NetIOSimpleUDP::Init(), C4NetIOSimpleUDP::InitBroadcast(), C4NetIOUDP::InitBroadcast(), InitIPv6Socket(), C4Network2IRCClient::Join(), C4NetIOTCP::Listen(), C4NetIOSimpleUDP::Send(), C4Network2IRCClient::Send(), C4NetIOTCP::UnBlock(), and C4NetIOSimpleUDP::UnBlock().
|
inlinevirtualinherited |
|
protected |
Definition at line 283 of file C4NetIO.h.
Referenced by GetError(), ResetError(), and SetError().
|
static |
Definition at line 66 of file C4NetIO.h.
Referenced by C4NetIOUDP::Execute(), C4NetIOTCP::Execute(), C4NetIOUDP::Peer::OnConn(), C4NetIOUDP::Peer::OnTimeout(), and C4NetIOUDP::Peer::SetTimeout().