From 7c841011f9316d4aae068b444c995829e09278d7 Mon Sep 17 00:00:00 2001 From: Johannes Demel Date: Sat, 9 May 2020 14:25:32 +0200 Subject: [PATCH] msg_handler: Use lambdas to set msg handlers With this commit, all calls to `set_msg_handler` in `gr-blocks` use lambdas. This helps to use `std::function` instead of `boost::function`. --- gnuradio-runtime/lib/block.cc | 3 +-- gr-blocks/lib/copy_impl.cc | 2 +- gr-blocks/lib/message_debug_impl.cc | 6 +++--- gr-blocks/lib/message_strobe_impl.cc | 3 +-- gr-blocks/lib/message_strobe_random_impl.cc | 3 +-- gr-blocks/lib/multiply_matrix_impl.cc | 7 ++----- gr-blocks/lib/mute_impl.cc | 2 +- gr-blocks/lib/nop_impl.cc | 3 +-- gr-blocks/lib/pdu_filter_impl.cc | 2 +- gr-blocks/lib/pdu_remove_impl.cc | 2 +- gr-blocks/lib/pdu_set_impl.cc | 3 ++- gr-blocks/lib/random_pdu_impl.cc | 2 +- gr-blocks/lib/repeat_impl.cc | 2 +- gr-blocks/lib/socket_pdu_impl.cc | 8 ++++---- gr-blocks/lib/tagged_stream_multiply_length_impl.cc | 5 ++--- gr-blocks/lib/tuntap_pdu_impl.cc | 2 +- 16 files changed, 24 insertions(+), 31 deletions(-) diff --git a/gnuradio-runtime/lib/block.cc b/gnuradio-runtime/lib/block.cc index 5914283908..beec8c470c 100644 --- a/gnuradio-runtime/lib/block.cc +++ b/gnuradio-runtime/lib/block.cc @@ -61,9 +61,8 @@ block::block(const std::string& name, { global_block_registry.register_primitive(alias(), this); message_port_register_in(d_system_port); - set_msg_handler(d_system_port, boost::bind(&block::system_handler, this, _1)); - configure_default_loggers(d_logger, d_debug_logger, symbol_name()); + set_msg_handler(d_system_port, [this](pmt::pmt_t msg) { this->system_handler(msg); }); } block::~block() { global_block_registry.unregister_primitive(symbol_name()); } diff --git a/gr-blocks/lib/copy_impl.cc b/gr-blocks/lib/copy_impl.cc index c377e57b1e..4c97d07a76 100644 --- a/gr-blocks/lib/copy_impl.cc +++ b/gr-blocks/lib/copy_impl.cc @@ -44,7 +44,7 @@ copy_impl::copy_impl(size_t itemsize) d_enabled(true) { message_port_register_in(pmt::mp("en")); - set_msg_handler(pmt::mp("en"), boost::bind(©_impl::handle_enable, this, _1)); + set_msg_handler(pmt::mp("en"), [this](pmt::pmt_t msg) { this->handle_enable(msg); }); } copy_impl::~copy_impl() {} diff --git a/gr-blocks/lib/message_debug_impl.cc b/gr-blocks/lib/message_debug_impl.cc index a8c84aa509..719fbd818a 100644 --- a/gr-blocks/lib/message_debug_impl.cc +++ b/gr-blocks/lib/message_debug_impl.cc @@ -90,14 +90,14 @@ message_debug_impl::message_debug_impl() : block("message_debug", io_signature::make(0, 0, 0), io_signature::make(0, 0, 0)) { message_port_register_in(pmt::mp("print")); - set_msg_handler(pmt::mp("print"), boost::bind(&message_debug_impl::print, this, _1)); + set_msg_handler(pmt::mp("print"), [this](pmt::pmt_t msg) { this->print(msg); }); message_port_register_in(pmt::mp("store")); - set_msg_handler(pmt::mp("store"), boost::bind(&message_debug_impl::store, this, _1)); + set_msg_handler(pmt::mp("store"), [this](pmt::pmt_t msg) { this->store(msg); }); message_port_register_in(pmt::mp("print_pdu")); set_msg_handler(pmt::mp("print_pdu"), - boost::bind(&message_debug_impl::print_pdu, this, _1)); + [this](pmt::pmt_t msg) { this->print_pdu(msg); }); } message_debug_impl::~message_debug_impl() {} diff --git a/gr-blocks/lib/message_strobe_impl.cc b/gr-blocks/lib/message_strobe_impl.cc index 038eeae5a1..67a95be8f2 100644 --- a/gr-blocks/lib/message_strobe_impl.cc +++ b/gr-blocks/lib/message_strobe_impl.cc @@ -53,8 +53,7 @@ message_strobe_impl::message_strobe_impl(pmt::pmt_t msg, long period_ms) message_port_register_out(d_port); message_port_register_in(pmt::mp("set_msg")); - set_msg_handler(pmt::mp("set_msg"), - boost::bind(&message_strobe_impl::set_msg, this, _1)); + set_msg_handler(pmt::mp("set_msg"), [this](pmt::pmt_t msg) { this->set_msg(msg); }); } message_strobe_impl::~message_strobe_impl() {} diff --git a/gr-blocks/lib/message_strobe_random_impl.cc b/gr-blocks/lib/message_strobe_random_impl.cc index 0ab5d6adc7..1b8deca952 100644 --- a/gr-blocks/lib/message_strobe_random_impl.cc +++ b/gr-blocks/lib/message_strobe_random_impl.cc @@ -74,8 +74,7 @@ message_strobe_random_impl::message_strobe_random_impl( new gr::thread::thread(boost::bind(&message_strobe_random_impl::run, this))); message_port_register_in(pmt::mp("set_msg")); - set_msg_handler(pmt::mp("set_msg"), - boost::bind(&message_strobe_random_impl::set_msg, this, _1)); + set_msg_handler(pmt::mp("set_msg"), [this](pmt::pmt_t msg) { this->set_msg(msg); }); } long message_strobe_random_impl::next_delay() diff --git a/gr-blocks/lib/multiply_matrix_impl.cc b/gr-blocks/lib/multiply_matrix_impl.cc index e1b9c746c6..03e7894536 100644 --- a/gr-blocks/lib/multiply_matrix_impl.cc +++ b/gr-blocks/lib/multiply_matrix_impl.cc @@ -235,9 +235,7 @@ multiply_matrix_impl::multiply_matrix_impl( pmt::pmt_t port_name = pmt::string_to_symbol("set_A"); message_port_register_in(port_name); - set_msg_handler( - port_name, - boost::bind(&multiply_matrix_impl::msg_handler_A, this, _1)); + set_msg_handler(port_name, [this](pmt::pmt_t msg) { this->msg_handler_A(msg); }); } template <> @@ -256,8 +254,7 @@ multiply_matrix_impl::multiply_matrix_impl( pmt::pmt_t port_name = pmt::string_to_symbol("set_A"); message_port_register_in(port_name); - set_msg_handler(port_name, - boost::bind(&multiply_matrix_impl::msg_handler_A, this, _1)); + set_msg_handler(port_name, [this](pmt::pmt_t msg) { this->msg_handler_A(msg); }); } diff --git a/gr-blocks/lib/mute_impl.cc b/gr-blocks/lib/mute_impl.cc index bd65ce2075..c9a1d200c8 100644 --- a/gr-blocks/lib/mute_impl.cc +++ b/gr-blocks/lib/mute_impl.cc @@ -48,7 +48,7 @@ mute_impl::mute_impl(bool mute) { this->message_port_register_in(pmt::intern("set_mute")); this->set_msg_handler(pmt::intern("set_mute"), - boost::bind(&mute_impl::set_mute_pmt, this, _1)); + [this](pmt::pmt_t msg) { this->set_mute_pmt(msg); }); } template diff --git a/gr-blocks/lib/nop_impl.cc b/gr-blocks/lib/nop_impl.cc index db216d97a4..4e1e887f42 100644 --- a/gr-blocks/lib/nop_impl.cc +++ b/gr-blocks/lib/nop_impl.cc @@ -26,7 +26,6 @@ #include "nop_impl.h" #include -#include namespace gr { namespace blocks { @@ -45,7 +44,7 @@ nop_impl::nop_impl(size_t sizeof_stream_item) // Arrange to have count_received_msgs called when messages are received. message_port_register_in(pmt::mp("port")); set_msg_handler(pmt::mp("port"), - boost::bind(&nop_impl::count_received_msgs, this, _1)); + [this](pmt::pmt_t msg) { this->count_received_msgs(msg); }); } nop_impl::~nop_impl() {} diff --git a/gr-blocks/lib/pdu_filter_impl.cc b/gr-blocks/lib/pdu_filter_impl.cc index b0748eec02..760027a78c 100644 --- a/gr-blocks/lib/pdu_filter_impl.cc +++ b/gr-blocks/lib/pdu_filter_impl.cc @@ -45,7 +45,7 @@ pdu_filter_impl::pdu_filter_impl(pmt::pmt_t k, pmt::pmt_t v, bool invert) message_port_register_out(pdu::pdu_port_id()); message_port_register_in(pdu::pdu_port_id()); set_msg_handler(pdu::pdu_port_id(), - boost::bind(&pdu_filter_impl::handle_msg, this, _1)); + [this](pmt::pmt_t msg) { this->handle_msg(msg); }); } void pdu_filter_impl::handle_msg(pmt::pmt_t pdu) diff --git a/gr-blocks/lib/pdu_remove_impl.cc b/gr-blocks/lib/pdu_remove_impl.cc index 19cc4dc76a..58277ca0d0 100644 --- a/gr-blocks/lib/pdu_remove_impl.cc +++ b/gr-blocks/lib/pdu_remove_impl.cc @@ -43,7 +43,7 @@ pdu_remove_impl::pdu_remove_impl(pmt::pmt_t k) message_port_register_out(pdu::pdu_port_id()); message_port_register_in(pdu::pdu_port_id()); set_msg_handler(pdu::pdu_port_id(), - boost::bind(&pdu_remove_impl::handle_msg, this, _1)); + [this](pmt::pmt_t msg) { this->handle_msg(msg); }); } void pdu_remove_impl::handle_msg(pmt::pmt_t pdu) diff --git a/gr-blocks/lib/pdu_set_impl.cc b/gr-blocks/lib/pdu_set_impl.cc index 40fbc3cd83..61f1bb1284 100644 --- a/gr-blocks/lib/pdu_set_impl.cc +++ b/gr-blocks/lib/pdu_set_impl.cc @@ -43,7 +43,8 @@ pdu_set_impl::pdu_set_impl(pmt::pmt_t k, pmt::pmt_t v) { message_port_register_out(pdu::pdu_port_id()); message_port_register_in(pdu::pdu_port_id()); - set_msg_handler(pdu::pdu_port_id(), boost::bind(&pdu_set_impl::handle_msg, this, _1)); + set_msg_handler(pdu::pdu_port_id(), + [this](pmt::pmt_t msg) { this->handle_msg(msg); }); } void pdu_set_impl::handle_msg(pmt::pmt_t pdu) diff --git a/gr-blocks/lib/random_pdu_impl.cc b/gr-blocks/lib/random_pdu_impl.cc index 75d825aefa..5207a779d6 100644 --- a/gr-blocks/lib/random_pdu_impl.cc +++ b/gr-blocks/lib/random_pdu_impl.cc @@ -53,7 +53,7 @@ random_pdu_impl::random_pdu_impl(int min_items, message_port_register_out(pdu::pdu_port_id()); message_port_register_in(pmt::mp("generate")); set_msg_handler(pmt::mp("generate"), - boost::bind(&random_pdu_impl::generate_pdu, this, _1)); + [this](pmt::pmt_t msg) { this->generate_pdu(msg); }); if (length_modulo < 1) throw std::runtime_error("length_module must be >= 1"); if (max_items < length_modulo) diff --git a/gr-blocks/lib/repeat_impl.cc b/gr-blocks/lib/repeat_impl.cc index 189fbc8948..7262b11a2e 100644 --- a/gr-blocks/lib/repeat_impl.cc +++ b/gr-blocks/lib/repeat_impl.cc @@ -45,7 +45,7 @@ repeat_impl::repeat_impl(size_t itemsize, int interp) { message_port_register_in(pmt::mp("interpolation")); set_msg_handler(pmt::mp("interpolation"), - boost::bind(&repeat_impl::msg_set_interpolation, this, _1)); + [this](pmt::pmt_t msg) { this->msg_set_interpolation(msg); }); } void repeat_impl::msg_set_interpolation(pmt::pmt_t msg) diff --git a/gr-blocks/lib/socket_pdu_impl.cc b/gr-blocks/lib/socket_pdu_impl.cc index df69f07ad2..edf572e76c 100644 --- a/gr-blocks/lib/socket_pdu_impl.cc +++ b/gr-blocks/lib/socket_pdu_impl.cc @@ -101,7 +101,7 @@ socket_pdu_impl::socket_pdu_impl(std::string type, start_tcp_accept(); set_msg_handler(pdu::pdu_port_id(), - boost::bind(&socket_pdu_impl::tcp_server_send, this, _1)); + [this](pmt::pmt_t msg) { this->tcp_server_send(msg); }); } else if (type == "TCP_CLIENT") { boost::system::error_code error = boost::asio::error::host_not_found; d_tcp_socket.reset(new boost::asio::ip::tcp::socket(d_io_service)); @@ -111,7 +111,7 @@ socket_pdu_impl::socket_pdu_impl(std::string type, d_tcp_socket->set_option(boost::asio::ip::tcp::no_delay(d_tcp_no_delay)); set_msg_handler(pdu::pdu_port_id(), - boost::bind(&socket_pdu_impl::tcp_client_send, this, _1)); + [this](pmt::pmt_t msg) { this->tcp_client_send(msg); }); d_tcp_socket->async_read_some( boost::asio::buffer(d_rxbuf), @@ -131,7 +131,7 @@ socket_pdu_impl::socket_pdu_impl(std::string type, boost::asio::placeholders::bytes_transferred)); set_msg_handler(pdu::pdu_port_id(), - boost::bind(&socket_pdu_impl::udp_send, this, _1)); + [this](pmt::pmt_t msg) { this->udp_send(msg); }); } else if (type == "UDP_CLIENT") { d_udp_socket.reset( new boost::asio::ip::udp::socket(d_io_service, d_udp_endpoint)); @@ -144,7 +144,7 @@ socket_pdu_impl::socket_pdu_impl(std::string type, boost::asio::placeholders::bytes_transferred)); set_msg_handler(pdu::pdu_port_id(), - boost::bind(&socket_pdu_impl::udp_send, this, _1)); + [this](pmt::pmt_t msg) { this->udp_send(msg); }); } else throw std::runtime_error("gr::blocks:socket_pdu: unknown socket type"); diff --git a/gr-blocks/lib/tagged_stream_multiply_length_impl.cc b/gr-blocks/lib/tagged_stream_multiply_length_impl.cc index 30f4c46dc6..2266c01fe3 100644 --- a/gr-blocks/lib/tagged_stream_multiply_length_impl.cc +++ b/gr-blocks/lib/tagged_stream_multiply_length_impl.cc @@ -49,9 +49,8 @@ tagged_stream_multiply_length_impl::tagged_stream_multiply_length_impl( set_tag_propagation_policy(TPP_DONT); set_relative_rate(1, 1); message_port_register_in(pmt::intern("set_scalar")); - set_msg_handler( - pmt::intern("set_scalar"), - boost::bind(&tagged_stream_multiply_length_impl::set_scalar_pmt, this, _1)); + set_msg_handler(pmt::intern("set_scalar"), + [this](pmt::pmt_t msg) { this->set_scalar_pmt(msg); }); } tagged_stream_multiply_length_impl::~tagged_stream_multiply_length_impl() {} diff --git a/gr-blocks/lib/tuntap_pdu_impl.cc b/gr-blocks/lib/tuntap_pdu_impl.cc index 4343ae1dc3..19742235d9 100644 --- a/gr-blocks/lib/tuntap_pdu_impl.cc +++ b/gr-blocks/lib/tuntap_pdu_impl.cc @@ -96,7 +96,7 @@ tuntap_pdu_impl::tuntap_pdu_impl(std::string dev, int MTU, bool istunflag) // set up input message port message_port_register_in(pdu::pdu_port_id()); - set_msg_handler(pdu::pdu_port_id(), boost::bind(&tuntap_pdu_impl::send, this, _1)); + set_msg_handler(pdu::pdu_port_id(), [this](pmt::pmt_t msg) { this->send(msg); }); } int tuntap_pdu_impl::tun_alloc(char* dev, int flags)