16 #ifndef INC_C4Network2Client
17 #define INC_C4Network2Client
165 unsigned int Count();
const int32_t C4ClientIDHost
const int32_t C4ClientCoreDL_IDMatch
const int32_t C4NetClientConnectAttempts
const int32_t C4NetClientConnectInterval
const int32_t C4ClientMaxAddr
const char * getName() const
const C4ClientCore & getCore() const
C4Network2Address Addr[C4ClientMaxAddr]
void CloseConns(const char *szMsg)
bool DoConnectAttempt(class C4Network2IO *pIO)
void AddAddrFromPuncher(const C4NetIO::addr_t &addr)
C4Network2IOConnection * pMsgConn
class C4TableGraph * getStatPing() const
bool hasAddr(const C4Network2Address &addr) const
bool DoTCPSimultaneousOpen(class C4Network2IO *pIO, const C4Network2Address &addr)
const char * getName() const
void SetStatus(C4Network2ClientStatus enStatus)
const std::set< int > & getInterfaceIDs() const
C4Network2Client(C4Client *pClient)
int32_t AddrAttempts[C4ClientMaxAddr]
void RemoveConn(C4Network2IOConnection *pConn)
class C4TableGraph * pstatPing
C4Network2IOConnection * getDataConn() const
bool SendMsg(C4NetIOPacket rPkt) const
time_t getNextConnAttempt() const
C4Network2IOConnection * getMsgConn() const
void SetLastActivity(int32_t iTick)
C4Network2IOConnection * pDataConn
C4Network2ClientStatus eStatus
std::set< int > InterfaceIDs
std::unique_ptr< C4NetIOTCP::Socket > TcpSimOpenSocket
class C4Network2ClientList * pParent
void SetDataConn(C4Network2IOConnection *pConn)
bool SendData(C4NetIOPacket rPkt) const
C4Network2ClientStatus getStatus() const
void SendAddresses(C4Network2IOConnection *pConn)
bool AddAddr(const C4Network2Address &addr, bool fAnnounce)
const C4Network2Address & getAddr(int32_t i) const
C4Network2Client * getNext() const
C4NetIO::addr_t IPv6AddrFromPuncher
C4Client * getClient() const
bool hasConn(C4Network2IOConnection *pConn)
int32_t getLastActivity() const
int32_t getAddrCnt() const
void SetMsgConn(C4Network2IOConnection *pConn)
void AddLocalAddrs(int16_t iPortTCP, int16_t iPortUDP)
const C4ClientCore & getCore() const
C4ClientList * pClientList
bool AllClientsReady() const
C4Network2Client * GetClient(const char *szName) const
C4Network2Client * GetHost()
bool SendMsgToClient(int32_t iClient, C4NetIOPacket &&rPkt)
C4Network2Client * GetNextClientAfterID(int32_t iSmallerClientID) const
C4Network2Client * GetNextClient(C4Network2Client *pClient)
void UpdateClientActivity()
C4Network2Client * GetClientByID(int32_t iID) const
C4Network2Client * GetLocal() const
bool BroadcastMsgToClients(const C4NetIOPacket &rPkt)
C4Network2Client * pLocal
void Init(C4ClientList *pClientList, bool fHost)
bool BroadcastMsgToConnClients(const C4NetIOPacket &rPkt)
C4Network2Client * pFirst
bool SendMsgToHost(C4NetIOPacket rPkt)
C4Network2ClientList(C4Network2IO *pIO)
C4Network2Client * RegClient(C4Client *pClient)
void DeleteClient(C4Network2Client *pClient)
void SendAddresses(C4Network2IOConnection *pConn)
void HandlePacket(char cStatus, const C4PacketBase *pBasePkt, C4Network2IOConnection *pConn)
C4PacketAddr(int32_t iClientID, const C4Network2Address &addr)
int32_t getClientID() const
void CompileFunc(StdCompiler *pComp) override
const C4Network2Address & getAddr() const
C4PacketTCPSimOpen()=default
void CompileFunc(StdCompiler *pComp) override
int32_t getClientID() const
C4PacketTCPSimOpen(int32_t ClientID, const C4Network2Address &addr)
const C4Network2Address & getAddr() const