• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Razakhel / RaZ / 22275713153

22 Feb 2026 10:51AM UTC coverage: 74.442% (+0.005%) from 74.437%
22275713153

push

github

Razakhel
[Network] Added Tcp/UdpServer::isRunning()

- Servers are automatically stopped on destruction

- Added constructors to TCP & UDP servers taking a port to directly start on

24 of 28 new or added lines in 5 files covered. (85.71%)

8578 of 11523 relevant lines covered (74.44%)

1715.77 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

89.74
/src/RaZ/Script/LuaNetwork.cpp
1
#include "RaZ/Network/TcpClient.hpp"
2
#include "RaZ/Network/TcpServer.hpp"
3
#include "RaZ/Network/UdpClient.hpp"
4
#include "RaZ/Network/UdpServer.hpp"
5
#include "RaZ/Script/LuaWrapper.hpp"
6
#include "RaZ/Utils/TypeUtils.hpp"
7

8
#define SOL_ALL_SAFETIES_ON 1
9
#include "sol/sol.hpp"
10

11
namespace Raz {
12

13
using namespace TypeUtils;
14

15
void LuaWrapper::registerNetworkTypes() {
2✔
16
  sol::state& state = getState();
2✔
17

18
  {
19
    sol::usertype<TcpClient> tcpClient = state.new_usertype<TcpClient>("TcpClient",
20
                                                                       sol::constructors<TcpClient(),
×
21
                                                                                         TcpClient(const std::string&, unsigned short)>());
2✔
22
    tcpClient["isConnected"]               = &TcpClient::isConnected;
2✔
23
    tcpClient["connect"]                   = &TcpClient::connect;
2✔
24
    tcpClient["send"]                      = &TcpClient::send;
2✔
25
    tcpClient["recoverAvailableByteCount"] = &TcpClient::recoverAvailableByteCount;
2✔
26
    tcpClient["receive"]                   = sol::overload([] (TcpClient& c) { return c.receive(); },
2✔
27
                                                           PickOverload<bool>(&TcpClient::receive));
4✔
28
    tcpClient["receiveAtLeast"]            = sol::overload([] (TcpClient& c, std::size_t b) { return c.receiveAtLeast(b); },
2✔
29
                                                           PickOverload<std::size_t, bool>(&TcpClient::receiveAtLeast));
4✔
30
    tcpClient["receiveExactly"]            = sol::overload([] (TcpClient& c, std::size_t b) { return c.receiveExactly(b); },
2✔
31
                                                           PickOverload<std::size_t, bool>(&TcpClient::receiveExactly));
4✔
32
    tcpClient["receiveUntil"]              = sol::overload([] (TcpClient& c, std::string_view d) { return c.receiveUntil(d); },
2✔
33
                                                           PickOverload<std::string_view, bool>(&TcpClient::receiveUntil));
4✔
34
    tcpClient["disconnect"]                = &TcpClient::disconnect;
2✔
35
  }
2✔
36

37
  {
38
    sol::usertype<TcpServer> tcpServer = state.new_usertype<TcpServer>("TcpServer",
NEW
39
                                                                       sol::constructors<TcpServer(),
×
40
                                                                                         TcpServer(unsigned short)>());
2✔
41
    tcpServer["isRunning"] = &TcpServer::isRunning;
2✔
42
    tcpServer["start"]     = &TcpServer::start;
2✔
43
    tcpServer["stop"]      = &TcpServer::stop;
2✔
44
  }
2✔
45

46
  {
47
    sol::usertype<UdpClient> udpClient = state.new_usertype<UdpClient>("UdpClient",
48
                                                                       sol::constructors<UdpClient(),
×
49
                                                                                         UdpClient(const std::string&, unsigned short)>());
2✔
50
    udpClient["setDestination"]            = &UdpClient::setDestination;
2✔
51
    udpClient["send"]                      = &UdpClient::send;
2✔
52
    udpClient["recoverAvailableByteCount"] = &UdpClient::recoverAvailableByteCount;
2✔
53
    udpClient["receive"]                   = &UdpClient::receive;
2✔
54
    udpClient["close"]                     = &UdpClient::close;
2✔
55
  }
2✔
56

57
  {
58
    sol::usertype<UdpServer> udpServer = state.new_usertype<UdpServer>("UdpServer",
NEW
59
                                                                       sol::constructors<UdpServer(),
×
60
                                                                                         UdpServer(unsigned short)>());
2✔
61
    udpServer["isRunning"] = &UdpServer::isRunning;
2✔
62
    udpServer["start"]     = &UdpServer::start;
2✔
63
    udpServer["stop"]      = &UdpServer::stop;
2✔
64
  }
2✔
65
}
2✔
66

67
} // namespace Raz
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc