#include <C4NetIO.h>
Public Types | |
typedef EndpointAddress | addr_t |
Public Member Functions | |
C4NetIOSimpleUDP () | |
~C4NetIOSimpleUDP () override | |
bool | Init (uint16_t iPort=addr_t::IPPORT_NONE) override |
virtual bool | InitBroadcast (addr_t *pBroadcastAddr) |
bool | Close () override |
virtual bool | CloseBroadcast () |
bool | Execute (int iMaxTime=TO_INF, pollfd *=nullptr) override |
bool | Send (const C4NetIOPacket &rPacket) override |
bool | Broadcast (const C4NetIOPacket &rPacket) override |
virtual void | UnBlock () |
void | GetFDs (std::vector< struct pollfd > &FDs) override |
bool | Connect (const addr_t &addr) override |
bool | Close (const addr_t &addr) override |
bool | SetBroadcast (const addr_t &addr, bool fSet=true) override |
bool | GetStatistic (int *pBroadcastRate) override |
bool | GetConnStatistic (const addr_t &addr, int *pIRate, int *pORate, int *pLoss) override |
void | ClearStatistic () override |
void | SetCallback (CBClass *pnCallback) override |
bool | IsNotify () override |
virtual bool | Send (const class C4NetIOPacket &rPacket)=0 |
virtual bool | Broadcast (const class C4NetIOPacket &rPacket)=0 |
virtual const char * | GetError () const |
void | ResetError () |
bool | ExecuteUntil (int iTimeout=-1) |
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 | |
const addr_t & | getMCAddr () const |
bool | SetMCLoopback (int fLoopback) |
bool | getMCLoopback () const |
void | SetReUseAddress (bool fAllow) |
bool | InitIPv6Socket (SOCKET socket) |
void | SetError (const char *strnError, bool fSockErr=false) |
void | Changed () |
Protected Attributes | |
StdCopyStrBuf | Error |
|
inherited |
C4NetIOSimpleUDP::C4NetIOSimpleUDP | ( | ) |
Definition at line 1887 of file C4NetIO.cpp.
|
override |
Definition at line 1893 of file C4NetIO.cpp.
References Close().
|
override |
Definition at line 2200 of file C4NetIO.cpp.
References C4NetIOPacket::getRef(), and Send().
Referenced by C4NetIOUDP::DoLoopbackTest(), and C4NetIOUDP::InitBroadcast().
|
pure virtualinherited |
|
protectedinherited |
Definition at line 108 of file StdScheduler.cpp.
References s.
Referenced by C4NetIOTCP::Accept(), C4NetIOTCP::AddConnectWait(), C4NetIOUDP::AddPeer(), C4NetIOTCP::Listen(), and CStdTimerProc::SetDelay().
|
inlineoverridevirtual |
Implements C4NetIO.
Reimplemented in C4NetIOUDP.
|
overridevirtual |
Implements C4NetIO.
Reimplemented in C4NetIOUDP.
Definition at line 2041 of file C4NetIO.cpp.
References CloseBroadcast(), closesocket, INVALID_SOCKET, and C4NetIO::ResetError().
Referenced by C4NetIOUDP::Close(), Init(), ~C4NetIOSimpleUDP(), and C4StartupNetDlg::~C4StartupNetDlg().
|
inlineoverridevirtual |
Implements C4NetIO.
Reimplemented in C4NetIOUDP.
|
virtual |
Reimplemented in C4NetIOUDP.
Definition at line 2082 of file C4NetIO.cpp.
References C4NetIO::SetError(), and SOCKET_ERROR.
Referenced by Close(), C4NetIOUDP::CloseBroadcast(), InitBroadcast(), and C4NetIOUDP::InitBroadcast().
|
inlineoverridevirtual |
Implements C4NetIO.
Reimplemented in C4NetIOUDP.
|
overridevirtual |
Implements C4NetIO.
Reimplemented in C4NetIOUDP.
Definition at line 2100 of file C4NetIO.cpp.
References C4NetIO::HostAddress::GetFamily(), GetSocketErrorMsg(), HaveConnResetError(), ioctlsocket, StdBuf::New(), C4NetIO::CBClass::OnDisconn(), C4NetIO::CBClass::OnPacket(), C4NetIO::ResetError(), C4NetIOPacket::SetAddr(), C4NetIO::SetError(), StdBuf::SetSize(), SOCKET_ERROR, and C4NetIO::HostAddress::UnknownFamily.
Referenced by C4NetIOUDP::DoLoopbackTest(), C4NetIOUDP::Execute(), C4NetIOUDP::InitBroadcast(), and C4StartupNetDlg::OnSec1Timer().
|
inherited |
Definition at line 33 of file StdScheduler.cpp.
References StdSchedulerProc::Execute(), and C4TimeMilliseconds::Now().
Referenced by main().
|
inlineoverridevirtual |
Implements C4NetIO.
Reimplemented in C4NetIOUDP.
|
inlinevirtualinherited |
Definition at line 286 of file C4NetIO.h.
References C4NetIO::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().
|
overridevirtual |
Reimplemented from StdSchedulerProc.
Definition at line 2252 of file C4NetIO.cpp.
References INVALID_SOCKET.
|
staticinherited |
Definition at line 631 of file C4NetIO.cpp.
References C4NetIO::HostAddress::IsLoopback(), and C4NetIO::HostAddress::SetHost().
Referenced by C4Network2Client::AddLocalAddrs(), and C4NetIOUDP::InitBroadcast().
|
inlineprotected |
Definition at line 573 of file C4NetIO.h.
Referenced by C4NetIOUDP::SendDirect().
|
inlineprotected |
Definition at line 577 of file C4NetIO.h.
Referenced by C4NetIOUDP::DoLoopbackTest(), and C4NetIOUDP::InitBroadcast().
|
virtualinherited |
Reimplemented in CStdTimerProc, C4Network2IO, C4NetIOUDP, and C4HTTPClient.
Definition at line 115 of file StdScheduler.cpp.
References C4TimeMilliseconds::PositiveInfinity.
|
inlineoverridevirtual |
Implements C4NetIO.
Reimplemented in C4NetIOUDP.
|
overridevirtual |
Implements C4NetIO.
Reimplemented in C4Network2IODiscoverClient, C4Network2IODiscover, and C4NetIOUDP.
Definition at line 1898 of file C4NetIO.cpp.
References C4NetIO::HostAddress::Any, Close(), C4NetIO::InitIPv6Socket(), INVALID_SOCKET, C4NetIO::ResetError(), C4NetIO::SetError(), C4NetIO::EndpointAddress::SetPort(), SOCK_CLOEXEC, and SOCKET_ERROR.
Referenced by C4NetIOUDP::Init(), C4Network2IODiscover::Init(), and C4Network2IODiscoverClient::Init().
|
virtual |
Reimplemented in C4NetIOUDP.
Definition at line 1986 of file C4NetIO.cpp.
References CloseBroadcast(), C4NetIO::HostAddress::GetFamily(), C4NetIO::EndpointAddress::GetPort(), C4NetIO::HostAddress::IPv6, C4NetIO::HostAddress::IsMulticast(), C4NetIO::ResetError(), C4NetIO::SetError(), SetMCLoopback(), and SOCKET_ERROR.
Referenced by C4Network2IODiscover::Init(), C4Network2IODiscoverClient::Init(), and C4NetIOUDP::InitBroadcast().
|
protectedinherited |
Definition at line 730 of file C4NetIO.cpp.
References C4NetIO::SetError(), and SOCKET_ERROR.
Referenced by C4NetIOTCP::CreateSocket(), Init(), and C4NetIOTCP::Listen().
|
inlinevirtualinherited |
Definition at line 82 of file StdScheduler.h.
|
inlineoverridevirtualinherited |
|
inherited |
|
inlineinherited |
Definition at line 287 of file C4NetIO.h.
References StdStrBuf::Clear(), and C4NetIO::Error.
Referenced by C4NetIO::C4NetIO(), C4NetIOTCP::Close(), Close(), C4NetIOUDP::CloseBroadcast(), C4Network2IO::ConnectWithSocket(), Execute(), C4NetIOUDP::Execute(), Init(), InitBroadcast(), C4NetIOUDP::InitBroadcast(), Send(), and C4Network2IOConnection::Send().
|
override |
Definition at line 2180 of file C4NetIO.cpp.
References C4NetIOPacket::getAddr(), C4NetIO::HostAddress::GetAddrLen(), StdBuf::getSize(), HaveWouldBlockError(), C4NetIO::ResetError(), and C4NetIO::SetError().
Referenced by C4Network2IODiscover::Announce(), Broadcast(), C4NetIOUDP::SendDirect(), and C4Network2IODiscoverClient::StartDiscovery().
|
pure virtualinherited |
Referenced by main(), MyCBClass::OnConn(), MyCBClass::OnPacket(), C4Network2IOConnection::Send(), and C4Network2IO::SendPuncherPacket().
|
inlineoverridevirtual |
Implements C4NetIO.
Reimplemented in C4NetIOUDP.
|
inlineoverridevirtual |
Implements C4NetIO.
Reimplemented in C4NetIOUDP.
Definition at line 590 of file C4NetIO.h.
Referenced by C4Network2IODiscover::C4Network2IODiscover(), C4Network2IODiscoverClient::C4Network2IODiscoverClient(), C4NetIOUDP::Init(), C4Network2IODiscover::Init(), and C4Network2IODiscoverClient::Init().
|
protectedinherited |
Definition at line 750 of file C4NetIO.cpp.
References StdStrBuf::Copy(), C4NetIO::Error, StdStrBuf::Format(), GetSocketErrorMsg(), and HaveSocketError().
Referenced by C4NetIOTCP::Accept(), C4NetIOTCP::Bind(), CloseBroadcast(), C4NetIOTCP::Connect(), C4Network2IRCClient::Connect(), C4NetIOTCP::CreateSocket(), C4NetIOUDP::DoLoopbackTest(), Execute(), C4NetIOUDP::Execute(), C4NetIOTCP::Execute(), C4NetIOTCP::Init(), Init(), InitBroadcast(), C4NetIOUDP::InitBroadcast(), C4NetIO::InitIPv6Socket(), C4Network2IRCClient::Join(), C4NetIOTCP::Listen(), Send(), C4Network2IRCClient::Send(), C4NetIOTCP::UnBlock(), and UnBlock().
|
protected |
Definition at line 2290 of file C4NetIO.cpp.
References iSize, and SOCKET_ERROR.
Referenced by C4NetIOUDP::DoLoopbackTest(), C4Network2IODiscover::Init(), C4Network2IODiscoverClient::Init(), InitBroadcast(), and C4NetIOUDP::InitBroadcast().
|
protected |
Definition at line 2302 of file C4NetIO.cpp.
Referenced by C4Network2IODiscover::Init(), and C4Network2IODiscoverClient::Init().
|
inlinevirtualinherited |
|
virtual |
Definition at line 2243 of file C4NetIO.cpp.
References C4NetIO::SetError().
|
protectedinherited |
Definition at line 283 of file C4NetIO.h.
Referenced by C4NetIO::GetError(), C4NetIO::ResetError(), and C4NetIO::SetError().
|
staticinherited |
Definition at line 66 of file C4NetIO.h.
Referenced by C4NetIOUDP::Execute(), C4NetIOTCP::Execute(), C4NetIOUDP::Peer::OnConn(), C4NetIOUDP::Peer::OnTimeout(), and C4NetIOUDP::Peer::SetTimeout().