#include <C4Network2Discover.h>
Public Types | |
typedef EndpointAddress | addr_t |
Public Member Functions | |
C4Network2IODiscoverClient () | |
int | getDiscoverCount () const |
const C4NetIO::addr_t & | getDiscover (int i) |
void | Clear () |
bool | Init (uint16_t iPort=C4NetIO::addr_t::IPPORT_NONE) override |
bool | StartDiscovery () |
bool | PopDiscover (C4NetIO::addr_t &Discover) |
virtual bool | InitBroadcast (addr_t *pBroadcastAddr) |
bool | Close () override |
bool | Close (const addr_t &addr) override |
virtual bool | CloseBroadcast () |
bool | Execute (int iMaxTime=TO_INF, pollfd *=nullptr) override |
bool | Send (const C4NetIOPacket &rPacket) override |
virtual bool | Send (const class C4NetIOPacket &rPacket)=0 |
bool | Broadcast (const C4NetIOPacket &rPacket) override |
virtual bool | Broadcast (const class C4NetIOPacket &rPacket)=0 |
virtual void | UnBlock () |
void | GetFDs (std::vector< struct pollfd > &FDs) override |
bool | Connect (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 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 | |
void | OnPacket (const class C4NetIOPacket &rPacket, C4NetIO *pNetIO) override |
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 |
Definition at line 48 of file C4Network2Discover.h.
|
inherited |
|
inline |
Definition at line 51 of file C4Network2Discover.h.
References C4NetIOSimpleUDP::SetCallback().
|
overrideinherited |
Definition at line 2200 of file C4NetIO.cpp.
References C4NetIOPacket::getRef(), and C4NetIOSimpleUDP::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().
|
inline |
Definition at line 63 of file C4Network2Discover.h.
|
inlineoverridevirtualinherited |
Implements C4NetIO.
Reimplemented in C4NetIOUDP.
|
overridevirtualinherited |
Implements C4NetIO.
Reimplemented in C4NetIOUDP.
Definition at line 2041 of file C4NetIO.cpp.
References C4NetIOSimpleUDP::CloseBroadcast(), closesocket, INVALID_SOCKET, and C4NetIO::ResetError().
Referenced by C4NetIOUDP::Close(), C4NetIOSimpleUDP::Init(), C4NetIOSimpleUDP::~C4NetIOSimpleUDP(), and C4StartupNetDlg::~C4StartupNetDlg().
|
inlineoverridevirtualinherited |
Implements C4NetIO.
Reimplemented in C4NetIOUDP.
|
virtualinherited |
Reimplemented in C4NetIOUDP.
Definition at line 2082 of file C4NetIO.cpp.
References C4NetIO::SetError(), and SOCKET_ERROR.
Referenced by C4NetIOSimpleUDP::Close(), C4NetIOUDP::CloseBroadcast(), C4NetIOSimpleUDP::InitBroadcast(), and C4NetIOUDP::InitBroadcast().
|
inlineoverridevirtualinherited |
Implements C4NetIO.
Reimplemented in C4NetIOUDP.
|
overridevirtualinherited |
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().
|
inlineoverridevirtualinherited |
Implements C4NetIO.
Reimplemented in C4NetIOUDP.
|
inline |
Definition at line 61 of file C4Network2Discover.h.
|
inline |
Definition at line 60 of file C4Network2Discover.h.
Referenced by PopDiscover().
|
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().
|
overridevirtualinherited |
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().
|
inlineprotectedinherited |
Definition at line 573 of file C4NetIO.h.
Referenced by C4NetIOUDP::SendDirect().
|
inlineprotectedinherited |
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.
|
inlineoverridevirtualinherited |
Implements C4NetIO.
Reimplemented in C4NetIOUDP.
|
overridevirtual |
Reimplemented from C4NetIOSimpleUDP.
Definition at line 89 of file C4Network2Discover.cpp.
References C4NetDiscoveryAddress, C4NetIOSimpleUDP::Init(), C4NetIOSimpleUDP::InitBroadcast(), C4NetIO::EndpointAddress::SetAddress(), C4NetIOSimpleUDP::SetCallback(), C4NetIOSimpleUDP::SetMCLoopback(), C4NetIO::EndpointAddress::SetPort(), and C4NetIOSimpleUDP::SetReUseAddress().
Referenced by C4StartupNetDlg::C4StartupNetDlg().
|
virtualinherited |
Reimplemented in C4NetIOUDP.
Definition at line 1986 of file C4NetIO.cpp.
References C4NetIOSimpleUDP::CloseBroadcast(), C4NetIO::HostAddress::GetFamily(), C4NetIO::EndpointAddress::GetPort(), C4NetIO::HostAddress::IPv6, C4NetIO::HostAddress::IsMulticast(), C4NetIO::ResetError(), C4NetIO::SetError(), C4NetIOSimpleUDP::SetMCLoopback(), and SOCKET_ERROR.
Referenced by C4Network2IODiscover::Init(), Init(), and C4NetIOUDP::InitBroadcast().
|
protectedinherited |
Definition at line 730 of file C4NetIO.cpp.
References C4NetIO::SetError(), and SOCKET_ERROR.
Referenced by C4NetIOTCP::CreateSocket(), C4NetIOSimpleUDP::Init(), and C4NetIOTCP::Listen().
|
inlinevirtualinherited |
Definition at line 82 of file StdScheduler.h.
|
inlineoverridevirtualinherited |
|
inherited |
|
overrideprotectedvirtual |
Implements C4NetIO::CBClass.
Definition at line 73 of file C4Network2Discover.cpp.
References C4NetMaxDiscover, C4NetIOPacket::getAddr(), StdBuf::getData(), StdBuf::getSize(), C4NetIOPacket::getStatus(), C4Network2IODiscoverReply::Port, and C4NetIO::EndpointAddress::SetPort().
bool C4Network2IODiscoverClient::PopDiscover | ( | C4NetIO::addr_t & | Discover | ) |
Definition at line 115 of file C4Network2Discover.cpp.
References getDiscoverCount().
|
inlineinherited |
Definition at line 287 of file C4NetIO.h.
References StdStrBuf::Clear(), and C4NetIO::Error.
Referenced by C4NetIO::C4NetIO(), C4NetIOTCP::Close(), C4NetIOSimpleUDP::Close(), C4NetIOUDP::CloseBroadcast(), C4Network2IO::ConnectWithSocket(), C4NetIOSimpleUDP::Execute(), C4NetIOUDP::Execute(), C4NetIOSimpleUDP::Init(), C4NetIOSimpleUDP::InitBroadcast(), C4NetIOUDP::InitBroadcast(), C4NetIOSimpleUDP::Send(), and C4Network2IOConnection::Send().
|
overrideinherited |
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(), C4NetIOSimpleUDP::Broadcast(), C4NetIOUDP::SendDirect(), and StartDiscovery().
|
pure virtualinherited |
Referenced by main(), MyCBClass::OnConn(), MyCBClass::OnPacket(), C4Network2IOConnection::Send(), and C4Network2IO::SendPuncherPacket().
|
inlineoverridevirtualinherited |
Implements C4NetIO.
Reimplemented in C4NetIOUDP.
|
inlineoverridevirtualinherited |
Implements C4NetIO.
Reimplemented in C4NetIOUDP.
Definition at line 590 of file C4NetIO.h.
Referenced by C4Network2IODiscover::C4Network2IODiscover(), C4Network2IODiscoverClient(), C4NetIOUDP::Init(), C4Network2IODiscover::Init(), and 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(), C4NetIOSimpleUDP::CloseBroadcast(), C4NetIOTCP::Connect(), C4Network2IRCClient::Connect(), C4NetIOTCP::CreateSocket(), C4NetIOUDP::DoLoopbackTest(), C4NetIOSimpleUDP::Execute(), C4NetIOUDP::Execute(), C4NetIOTCP::Execute(), C4NetIOTCP::Init(), C4NetIOSimpleUDP::Init(), C4NetIOSimpleUDP::InitBroadcast(), C4NetIOUDP::InitBroadcast(), C4NetIO::InitIPv6Socket(), C4Network2IRCClient::Join(), C4NetIOTCP::Listen(), C4NetIOSimpleUDP::Send(), C4Network2IRCClient::Send(), C4NetIOTCP::UnBlock(), and C4NetIOSimpleUDP::UnBlock().
|
protectedinherited |
Definition at line 2290 of file C4NetIO.cpp.
References iSize, and SOCKET_ERROR.
Referenced by C4NetIOUDP::DoLoopbackTest(), C4Network2IODiscover::Init(), Init(), C4NetIOSimpleUDP::InitBroadcast(), and C4NetIOUDP::InitBroadcast().
|
protectedinherited |
Definition at line 2302 of file C4NetIO.cpp.
Referenced by C4Network2IODiscover::Init(), and Init().
bool C4Network2IODiscoverClient::StartDiscovery | ( | ) |
Definition at line 108 of file C4Network2Discover.cpp.
References C4NetIOSimpleUDP::Send().
Referenced by C4StartupNetDlg::C4StartupNetDlg(), C4StartupNetDlg::DoRefresh(), and C4StartupNetDlg::OnSec1Timer().
|
inlinevirtualinherited |
|
virtualinherited |
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().