Skip to content

Commit 2ea94b2

Browse files
committed
Use namespace alias for asio, avoid copying error_code in handlers
1 parent 6e0070c commit 2ea94b2

18 files changed

+73
-92
lines changed

src/data_receiver.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@
1010
#include <mutex>
1111
#include <thread>
1212

13-
using lslboost::asio::ip::tcp;
14-
1513
namespace lsl {
1614

1715
class inlet_connection; // Forward declaration

src/forward.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,16 @@ class portable_oarchive;
2222
class portable_iarchive;
2323
} // namespace eos
2424

25+
namespace asio = lslboost::asio;
26+
2527
namespace lsl {
2628
/// shared pointers to various classes
2729
using factory_p = std::shared_ptr<class factory>;
2830
using sample_p = lslboost::intrusive_ptr<class sample>;
2931
using send_buffer_p = std::shared_ptr<class send_buffer>;
3032
using stream_info_impl_p = std::shared_ptr<class stream_info_impl>;
31-
using io_context_p = std::shared_ptr<lslboost::asio::io_context>;
33+
using io_context_p = std::shared_ptr<asio::io_context>;
34+
using string_p = std::shared_ptr<std::string>;
3235
using tcp_server_p = std::shared_ptr<class tcp_server>;
3336
using udp_server_p = std::shared_ptr<class udp_server>;
3437
} // namespace lsl

src/inlet_connection.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
#include <sstream>
66

77
using namespace lsl;
8-
namespace asio = lslboost::asio;
98
namespace ip = asio::ip;
9+
using lslboost::system::error_code;
1010

1111
inlet_connection::inlet_connection(const stream_info_impl &info, bool recover)
1212
: type_info_(info), host_info_(info), tcp_protocol_(tcp::v4()), udp_protocol_(udp::v4()),
@@ -106,7 +106,7 @@ void inlet_connection::disengage() {
106106
/// convert a IPv6 address or hostname into an non-link-local address
107107
ip::address resolve_v6_addr(const std::string &addr) {
108108
// Try to parse the IPv6 address
109-
lslboost::system::error_code ec;
109+
error_code ec;
110110
auto v6addr = ip::make_address_v6(addr, ec);
111111
if (!ec && !v6addr.is_link_local()) return v6addr;
112112

src/inlet_connection.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,9 @@ using shared_lock_t = lslboost::shared_lock<lslboost::shared_mutex>;
2525
using unique_lock_t = lslboost::unique_lock<lslboost::shared_mutex>;
2626
#endif
2727

28-
using lslboost::asio::ip::tcp;
29-
using lslboost::asio::ip::udp;
28+
namespace asio = lslboost::asio;
29+
using asio::ip::tcp;
30+
using asio::ip::udp;
3031

3132
namespace lsl {
3233

src/netinterfaces.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
#include "netinterfaces.h"
22
#include <loguru.hpp>
33

4-
using lslboost::asio::ip::address_v4;
4+
using asio::ip::address_v4;
55

6-
lslboost::asio::ip::address_v6 sinaddr_to_asio(sockaddr_in6 *addr) {
7-
lslboost::asio::ip::address_v6::bytes_type buf;
6+
asio::ip::address_v6 sinaddr_to_asio(sockaddr_in6 *addr) {
7+
asio::ip::address_v6::bytes_type buf;
88
memcpy(buf.data(), addr->sin6_addr.s6_addr, sizeof(addr->sin6_addr));
9-
return lslboost::asio::ip::make_address_v6(buf, addr->sin6_scope_id);
9+
return asio::ip::make_address_v6(buf, addr->sin6_scope_id);
1010
}
1111

1212
#if defined(_WIN32)
@@ -47,7 +47,7 @@ std::vector<lsl::netif> lsl::get_local_interfaces() {
4747
for (Addr *uaddr = addr->FirstUnicastAddress; uaddr != 0; uaddr = uaddr->Next) {
4848
if (uaddr->Address.lpSockaddr->sa_family != AF_INET) continue;
4949

50-
if_.addr = lslboost::asio::ip::make_address_v4(
50+
if_.addr = asio::ip::make_address_v4(
5151
ntohl(reinterpret_cast<sockaddr_in *>(uaddr->Address.lpSockaddr)
5252
->sin_addr.s_addr));
5353
ret.emplace_back(std::move(if_));
@@ -98,7 +98,7 @@ std::vector<lsl::netif> lsl::get_local_interfaces() {
9898
lsl::netif if_;
9999

100100
if (addr->ifa_addr->sa_family == AF_INET) {
101-
if_.addr = lslboost::asio::ip::make_address_v4(
101+
if_.addr = asio::ip::make_address_v4(
102102
ntohl(reinterpret_cast<sockaddr_in *>(addr->ifa_addr)->sin_addr.s_addr));
103103
LOG_F(INFO, "\tIPv4 addr: %x", if_.addr.to_v4().to_uint());
104104
} else if (addr->ifa_addr->sa_family == AF_INET6) {

src/netinterfaces.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@
44
#include <vector>
55
#include <boost/asio/ip/address.hpp>
66

7+
namespace asio = lslboost::asio;
8+
79
namespace lsl {
810

911
class netif {
1012
public:
11-
lslboost::asio::ip::address addr;
13+
asio::ip::address addr;
1214
uint32_t ifindex;
1315
std::string name;
1416
};

src/resolve_attempt_udp.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
#include <sstream>
88

99
using namespace lsl;
10-
namespace asio = lslboost::asio;
11-
using err_t = const lslboost::system::error_code &;
1210

1311
resolve_attempt_udp::resolve_attempt_udp(asio::io_context &io, const udp &protocol,
1412
const std::vector<udp::endpoint> &targets, const std::string &query, result_container &results,
@@ -93,7 +91,7 @@ void resolve_attempt_udp::receive_next_result() {
9391
err_t err, size_t len) { shared_this->handle_receive_outcome(err, len); });
9492
}
9593

96-
void resolve_attempt_udp::handle_receive_outcome(error_code err, std::size_t len) {
94+
void resolve_attempt_udp::handle_receive_outcome(err_t err, std::size_t len) {
9795
if (cancelled_ || err == asio::error::operation_aborted || err == asio::error::not_connected ||
9896
err == asio::error::not_socket)
9997
return;
@@ -155,7 +153,7 @@ void resolve_attempt_udp::send_next_query(endpoint_list::const_iterator next) {
155153
? broadcast_socket_
156154
: (ep.address().is_multicast() ? multicast_socket_ : unicast_socket_);
157155
// and send the query over it
158-
sock.async_send_to(lslboost::asio::buffer(query_msg_), ep,
156+
sock.async_send_to(asio::buffer(query_msg_), ep,
159157
[shared_this = shared_from_this(), next](err_t err, size_t /*unused*/) {
160158
if (!shared_this->cancelled_ && err != asio::error::operation_aborted &&
161159
err != asio::error::not_connected && err != asio::error::not_socket)

src/resolve_attempt_udp.h

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,14 @@
22
#define RESOLVE_ATTEMPT_UDP_H
33

44
#include "cancellation.h"
5+
#include "forward.h"
56
#include "stream_info_impl.h"
67
#include <boost/asio/ip/udp.hpp>
78
#include <boost/asio/steady_timer.hpp>
89
#include <map>
910

10-
namespace lslboost {
11-
namespace system {
12-
class error_code;
13-
}
14-
} // namespace lslboost
15-
16-
using lslboost::asio::ip::udp;
17-
using lslboost::system::error_code;
11+
using asio::ip::udp;
12+
using err_t = const lslboost::system::error_code &;
1813

1914
namespace lsl {
2015

@@ -53,7 +48,7 @@ class resolve_attempt_udp : public cancellable_obj,
5348
* @param registry A registry where the attempt can register itself as active so it can be
5449
* cancelled during shutdown.
5550
*/
56-
resolve_attempt_udp(lslboost::asio::io_context &io, const udp &protocol,
51+
resolve_attempt_udp(asio::io_context &io, const udp &protocol,
5752
const std::vector<udp::endpoint> &targets, const std::string &query,
5853
result_container &results, std::mutex &results_mut, double cancel_after = 5.0,
5954
cancellable_registry *registry = nullptr);
@@ -81,7 +76,7 @@ class resolve_attempt_udp : public cancellable_obj,
8176
void send_next_query(endpoint_list::const_iterator next);
8277

8378
/// Handler that gets called when a receive has completed.
84-
void handle_receive_outcome(error_code err, std::size_t len);
79+
void handle_receive_outcome(err_t err, std::size_t len);
8580

8681
// === cancellation ===
8782

@@ -91,7 +86,7 @@ class resolve_attempt_udp : public cancellable_obj,
9186

9287
// data shared with the resolver_impl
9388
/// reference to the IO service that executes our actions
94-
lslboost::asio::io_context &io_;
89+
asio::io_context &io_;
9590
/// shared result container
9691
result_container &results_;
9792
/// shared mutex that protects the results
@@ -127,7 +122,7 @@ class resolve_attempt_udp : public cancellable_obj,
127122
/// socket to receive replies (always unicast)
128123
udp::socket recv_socket_;
129124
/// timer to schedule the cancel action
130-
lslboost::asio::steady_timer cancel_timer_;
125+
asio::steady_timer cancel_timer_;
131126
};
132127
} // namespace lsl
133128

src/resolver_impl.cpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@
1111
// === implementation of the resolver_impl class ===
1212

1313
using namespace lsl;
14-
namespace asio = lslboost::asio;
15-
namespace ip = asio::ip;
16-
using err_t = const lslboost::system::error_code &;
1714

1815
resolver_impl::resolver_impl()
1916
: cfg_(api_config::get_instance()), cancelled_(false), expired_(false), forget_after_(FOREVER),
@@ -23,7 +20,7 @@ resolver_impl::resolver_impl()
2320
uint16_t mcast_port = cfg_->multicast_port();
2421
for (const auto &mcast_addr : cfg_->multicast_addresses()) {
2522
try {
26-
mcast_endpoints_.emplace_back(ip::make_address(mcast_addr), (uint16_t)mcast_port);
23+
mcast_endpoints_.emplace_back(asio::ip::make_address(mcast_addr), mcast_port);
2724
} catch (std::exception &) {}
2825
}
2926

@@ -204,7 +201,7 @@ void resolver_impl::udp_multicast_burst() {
204201
}
205202
}
206203

207-
void resolver_impl::udp_unicast_burst(error_code err) {
204+
void resolver_impl::udp_unicast_burst(err_t err) {
208205
if (err == asio::error::operation_aborted) return;
209206

210207
int failures = 0;

src/resolver_impl.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
#include <mutex>
1212
#include <thread>
1313

14-
using lslboost::asio::ip::tcp;
15-
using lslboost::asio::ip::udp;
16-
using lslboost::system::error_code;
14+
using asio::ip::tcp;
15+
using asio::ip::udp;
16+
using err_t = const lslboost::system::error_code &;
1717

1818
namespace lsl {
1919
class api_config;
@@ -127,7 +127,7 @@ class resolver_impl : public cancellable_registry {
127127
void udp_multicast_burst();
128128

129129
/// Start a new resolver attempt on the known peers.
130-
void udp_unicast_burst(error_code err);
130+
void udp_unicast_burst(err_t err);
131131

132132
/// Cancel the currently ongoing resolve, if any.
133133
void cancel_ongoing_resolve();
@@ -174,11 +174,11 @@ class resolver_impl : public cancellable_registry {
174174
/// a thread that runs background IO if we are performing a resolve_continuous
175175
std::shared_ptr<std::thread> background_io_;
176176
/// the overall timeout for a query
177-
lslboost::asio::steady_timer resolve_timeout_expired_;
177+
asio::steady_timer resolve_timeout_expired_;
178178
/// a timer that fires when a new wave should be scheduled
179-
lslboost::asio::steady_timer wave_timer_;
179+
asio::steady_timer wave_timer_;
180180
/// a timer that fires when the unicast wave should be scheduled
181-
lslboost::asio::steady_timer unicast_timer_;
181+
asio::steady_timer unicast_timer_;
182182
};
183183

184184
} // namespace lsl

0 commit comments

Comments
 (0)