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

jbaldwin / libcoro / 21315795177

24 Jan 2026 01:23PM UTC coverage: 86.888%. First build
21315795177

Pull #435

github

web-flow
Merge b39d95fbe into 44d12235a
Pull Request #435: Rename io_scheduler to scheduler

51 of 71 new or added lines in 11 files covered. (71.83%)

1756 of 2021 relevant lines covered (86.89%)

4941352.34 hits per line

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

42.42
/src/net/udp/peer.cpp
1
#include "coro/net/udp/peer.hpp"
2
#include <memory>
3
#include <utility>
4

5
namespace coro::net::udp
6
{
7
peer::peer(std::unique_ptr<coro::scheduler>& scheduler, net::domain_t domain)
1✔
8
    : m_scheduler(scheduler.get()),
1✔
9
      m_socket(net::make_socket(net::socket::options{domain, net::socket::type_t::udp, net::socket::blocking_t::no}))
1✔
10
{
11
    if (m_scheduler == nullptr)
1✔
12
    {
13
        throw std::runtime_error("udp::peer cannot have nullptr scheduler");
×
14
    }
15
}
1✔
16

17
peer::peer(std::unique_ptr<coro::scheduler>& scheduler, const info& bind_info)
3✔
18
    : m_scheduler(scheduler.get()),
3✔
19
      m_socket(
6✔
20
          net::make_accept_socket(
21
              net::socket::options{bind_info.address.domain(), net::socket::type_t::udp, net::socket::blocking_t::no},
3✔
22
              bind_info.address,
3✔
23
              bind_info.port)),
3✔
24
      m_bound(true)
3✔
25
{
26
    if (m_scheduler == nullptr)
3✔
27
    {
28
        throw std::runtime_error("udp::peer cannot have nullptr scheduler");
×
29
    }
30
}
3✔
31

32
peer::peer(peer&& other) noexcept
×
NEW
33
    : m_scheduler(std::exchange(other.m_scheduler, nullptr)),
×
34
      m_socket(std::move(other.m_socket)),
×
35
      m_bound(other.m_bound)
×
36
{
37
}
×
38

39
auto peer::operator=(peer&& other) noexcept -> peer&
×
40
{
41
    if (std::addressof(other) != this)
×
42
    {
NEW
43
        m_scheduler = std::exchange(other.m_scheduler, nullptr);
×
44
        m_socket       = std::move(other.m_socket);
×
45
        m_bound        = other.m_bound;
×
46
    }
47
    return *this;
×
48
}
49

50
auto peer::operator=(const peer& other) noexcept -> peer&
×
51
{
52
    if (std::addressof(other) != this)
×
53
    {
NEW
54
        m_scheduler = other.m_scheduler;
×
55
        m_socket       = other.m_socket;
×
56
        m_bound        = other.m_bound;
×
57
    }
58
    return *this;
×
59
}
60
} // namespace coro::net::udp
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