diff options
Diffstat (limited to 'src/core/netconnection.cc')
-rw-r--r-- | src/core/netconnection.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/core/netconnection.cc b/src/core/netconnection.cc index b87477b..9790655 100644 --- a/src/core/netconnection.cc +++ b/src/core/netconnection.cc @@ -116,6 +116,23 @@ void NetConnection::frame(float seconds) } } +void NetConnection::send(std::string const &msg) +{ + sendq.append(msg); +} + +void NetConnection::transmit() +{ + while (sendq.size() && valid() && !error()) { + TCPConnection::send(sendq.substr(0, net::FRAMESIZE-1)); + if (sendq.size() < net::FRAMESIZE) { + sendq.clear(); + } else { + sendq.erase(0, net::FRAMESIZE-1); + } + } +} + // parse incoming client messages /** * The following incoming messages are parsed; |