载入中...
搜索中...
未找到
eve::network::NetHost类 参考

#include <NetHost.h>

Public 类型

using MessageHandler = std::function< void(uint32_t peerId, UdpLink::MsgType, uint8_t channel, const char *, size_t)>
 
using PeerHandler = std::function< void(uint32_t peerId)>
 

Public 成员函数

 NetHost (Network *net)
 
 ~NetHost ()
 
bool start (uint16_t port)
 
void setLossRate (float rate)
 
void setTimeoutMs (int ms)
 
void onDatagram (const std::vector< char > &bytes, const std::string &from)
 
void pump (int64_t nowMs)
 
UdpLinklinkByPeerId (uint32_t peerId) const
 
size_t peerCount () const
 
void sendTo (uint32_t peerId, UdpLink::MsgType type, uint8_t channel, const void *data, size_t n)
 
bool sendStringTo (uint32_t peerId, UdpLink::MsgType type, uint8_t channel, const std::string &s)
 
void setMessageHandler (MessageHandler h)
 
void setPeerConnectedHandler (PeerHandler h)
 
void setPeerDisconnectedHandler (PeerHandler h)
 

详细描述

UDP host: one bound socket shared by all peers. Datagrams are routed by the sender address string to a per-peer UdpLink; new addresses get a peer id and emit peerconn. Link death (timeout) emits peerdisconn and removes the peer. All state is main-thread; Network::pump calls onDatagram/pump.

在文件 NetHost.h22 行定义.

成员类型定义说明

◆ MessageHandler

using eve::network::NetHost::MessageHandler = std::function<void(uint32_t peerId, UdpLink::MsgType, uint8_t channel, const char*, size_t)>

在文件 NetHost.h42 行定义.

◆ PeerHandler

using eve::network::NetHost::PeerHandler = std::function<void(uint32_t peerId)>

在文件 NetHost.h44 行定义.

构造及析构函数说明

◆ NetHost()

eve::network::NetHost::NetHost ( Network net)
explicit

在文件 NetHost.cpp9 行定义.

◆ ~NetHost()

eve::network::NetHost::~NetHost ( )

在文件 NetHost.cpp11 行定义.

引用了 eve::network::Network::unbindUdpHost().

成员函数说明

◆ linkByPeerId()

UdpLink * eve::network::NetHost::linkByPeerId ( uint32_t  peerId) const

在文件 NetHost.cpp76 行定义.

被这些函数引用 sendStringTo() , 以及 sendTo().

◆ onDatagram()

void eve::network::NetHost::onDatagram ( const std::vector< char > &  bytes,
const std::string &  from 
)

在文件 NetHost.cpp43 行定义.

引用了 d, id , 以及 n.

◆ peerCount()

size_t eve::network::NetHost::peerCount ( ) const
inline

在文件 NetHost.h35 行定义.

◆ pump()

void eve::network::NetHost::pump ( int64_t  nowMs)

在文件 NetHost.cpp70 行定义.

◆ sendStringTo()

bool eve::network::NetHost::sendStringTo ( uint32_t  peerId,
UdpLink::MsgType  type,
uint8_t  channel,
const std::string &  s 
)

在文件 NetHost.cpp87 行定义.

引用了 linkByPeerId(), s, eve::network::UdpLink::sendString() , 以及 type.

◆ sendTo()

void eve::network::NetHost::sendTo ( uint32_t  peerId,
UdpLink::MsgType  type,
uint8_t  channel,
const void *  data,
size_t  n 
)

在文件 NetHost.cpp81 行定义.

引用了 data, linkByPeerId(), n, eve::network::UdpLink::send() , 以及 type.

◆ setLossRate()

void eve::network::NetHost::setLossRate ( float  rate)

在文件 NetHost.cpp33 行定义.

◆ setMessageHandler()

void eve::network::NetHost::setMessageHandler ( MessageHandler  h)
inline

在文件 NetHost.h46 行定义.

引用了 h.

◆ setPeerConnectedHandler()

void eve::network::NetHost::setPeerConnectedHandler ( PeerHandler  h)
inline

在文件 NetHost.h47 行定义.

引用了 h.

◆ setPeerDisconnectedHandler()

void eve::network::NetHost::setPeerDisconnectedHandler ( PeerHandler  h)
inline

在文件 NetHost.h48 行定义.

引用了 h.

◆ setTimeoutMs()

void eve::network::NetHost::setTimeoutMs ( int  ms)

在文件 NetHost.cpp38 行定义.

◆ start()

bool eve::network::NetHost::start ( uint16_t  port)

该类的文档由以下文件生成: