载入中...
搜索中...
未找到
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) |
| UdpLink * | linkByPeerId (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.
成员类型定义说明
◆ MessageHandler
| using eve::network::NetHost::MessageHandler = std::function<void(uint32_t peerId, UdpLink::MsgType, uint8_t channel, const char*, size_t)> |
◆ PeerHandler
| using eve::network::NetHost::PeerHandler = std::function<void(uint32_t peerId)> |
构造及析构函数说明
◆ NetHost()
|
explicit |
在文件 NetHost.cpp 第 9 行定义.
◆ ~NetHost()
| eve::network::NetHost::~NetHost | ( | ) |
在文件 NetHost.cpp 第 11 行定义.
成员函数说明
◆ linkByPeerId()
| UdpLink * eve::network::NetHost::linkByPeerId | ( | uint32_t | peerId | ) | const |
在文件 NetHost.cpp 第 76 行定义.
被这些函数引用 sendStringTo() , 以及 sendTo().
◆ onDatagram()
| void eve::network::NetHost::onDatagram | ( | const std::vector< char > & | bytes, |
| const std::string & | from | ||
| ) |
在文件 NetHost.cpp 第 43 行定义.
◆ peerCount()
◆ pump()
| void eve::network::NetHost::pump | ( | int64_t | nowMs | ) |
在文件 NetHost.cpp 第 70 行定义.
◆ sendStringTo()
| bool eve::network::NetHost::sendStringTo | ( | uint32_t | peerId, |
| UdpLink::MsgType | type, | ||
| uint8_t | channel, | ||
| const std::string & | s | ||
| ) |
在文件 NetHost.cpp 第 87 行定义.
引用了 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.cpp 第 81 行定义.
引用了 data, linkByPeerId(), n, eve::network::UdpLink::send() , 以及 type.
◆ setLossRate()
| void eve::network::NetHost::setLossRate | ( | float | rate | ) |
在文件 NetHost.cpp 第 33 行定义.
◆ setMessageHandler()
|
inline |
◆ setPeerConnectedHandler()
|
inline |
◆ setPeerDisconnectedHandler()
|
inline |
◆ setTimeoutMs()
| void eve::network::NetHost::setTimeoutMs | ( | int | ms | ) |
在文件 NetHost.cpp 第 38 行定义.
◆ start()
| bool eve::network::NetHost::start | ( | uint16_t | port | ) |
该类的文档由以下文件生成:
- src/modules/network/NetHost.h
- src/modules/network/NetHost.cpp