From 12136a2c2b59814b527f8f54759615aaf0030060 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Offringa?= Date: Thu, 3 Aug 2023 18:45:27 +0200 Subject: [PATCH] Avoid unnecessary calls to unique_ptr::release() --- common/rpc/RpcServer.cpp | 3 ++- ola/StreamingClientTest.cpp | 2 +- olad/OlaDaemon.cpp | 5 +++-- olad/OlaServer.cpp | 22 +++++++++++----------- plugins/kinet/KiNetNode.cpp | 5 +++-- plugins/nanoleaf/NanoleafNode.cpp | 5 +++-- plugins/openpixelcontrol/OPCServer.cpp | 3 ++- plugins/usbdmx/AVLdiyD512.cpp | 3 ++- plugins/usbdmx/AnymauDMX.cpp | 3 ++- plugins/usbdmx/AsyncPluginImpl.cpp | 2 +- plugins/usbdmx/DMXCProjectsNodleU1.cpp | 5 +++-- plugins/usbdmx/DMXCreator512Basic.cpp | 3 ++- plugins/usbdmx/EurolitePro.cpp | 3 ++- plugins/usbdmx/ScanlimeFadecandy.cpp | 3 ++- plugins/usbdmx/ShowJockeyDMXU1.cpp | 7 ++++--- plugins/usbdmx/Sunlite.cpp | 3 ++- plugins/usbdmx/UsbDmxPlugin.cpp | 3 ++- plugins/usbdmx/VellemanK8062.cpp | 3 ++- plugins/usbpro/ArduinoWidget.cpp | 5 +++-- plugins/usbpro/DmxTriWidget.cpp | 2 +- plugins/usbpro/DmxterWidget.cpp | 5 +++-- plugins/usbpro/EnttecUsbProWidget.cpp | 6 ++++-- plugins/usbpro/RobeWidget.cpp | 7 ++++--- tools/e133/DeviceManagerImpl.cpp | 3 ++- tools/e133/basic-controller.cpp | 6 +++--- 25 files changed, 69 insertions(+), 48 deletions(-) diff --git a/common/rpc/RpcServer.cpp b/common/rpc/RpcServer.cpp index 64f467b87..01b020c68 100644 --- a/common/rpc/RpcServer.cpp +++ b/common/rpc/RpcServer.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include "common/rpc/RpcChannel.h" #include "common/rpc/RpcSession.h" @@ -114,7 +115,7 @@ bool RpcServer::Init() { return false; } - m_accepting_socket.reset(accepting_socket.release()); + m_accepting_socket = std::move(accepting_socket); return true; } diff --git a/ola/StreamingClientTest.cpp b/ola/StreamingClientTest.cpp index dce7a5c29..c6a644841 100644 --- a/ola/StreamingClientTest.cpp +++ b/ola/StreamingClientTest.cpp @@ -98,7 +98,7 @@ bool OlaServerThread::Setup() { // pick an unused port unique_ptr olad(new OlaDaemon(ola_options, NULL)); if (olad->Init()) { - m_olad.reset(olad.release()); + m_olad = std::move(olad); return true; } else { return false; diff --git a/olad/OlaDaemon.cpp b/olad/OlaDaemon.cpp index 77695e6fe..d66b7c9ef 100644 --- a/olad/OlaDaemon.cpp +++ b/olad/OlaDaemon.cpp @@ -32,6 +32,7 @@ #include #endif // _WIN32 #include +#include #include "ola/ExportMap.h" #include "ola/Logging.h" @@ -136,8 +137,8 @@ bool OlaDaemon::Init() { bool ok = server->Init(); if (ok) { // Set the members - m_preferences_factory.reset(preferences_factory.release()); - m_server.reset(server.release()); + m_preferences_factory = std::move(preferences_factory); + m_server = std::move(server); } else { STLDeleteElements(&m_plugin_loaders); } diff --git a/olad/OlaServer.cpp b/olad/OlaServer.cpp index 0f9c02574..a75bb958c 100644 --- a/olad/OlaServer.cpp +++ b/olad/OlaServer.cpp @@ -270,7 +270,7 @@ bool OlaServer::Init() { // Initializing the web server causes a call to NewClient. We need to have // the broker in place for the call, otherwise we'll segfault. - m_broker.reset(broker.release()); + m_broker = std::move(broker); #ifdef HAVE_LIBMICROHTTPD if (m_options.http_enable) { @@ -296,15 +296,15 @@ bool OlaServer::Init() { // Ok, we've created and initialized everything correctly by this point. Now // we save all the pointers and schedule the last of the callbacks. - m_device_manager.reset(device_manager.release()); - m_discovery_agent.reset(discovery_agent.release()); - m_plugin_adaptor.reset(plugin_adaptor.release()); - m_plugin_manager.reset(plugin_manager.release()); - m_port_broker.reset(port_broker.release()); - m_port_manager.reset(port_manager.release()); - m_rpc_server.reset(rpc_server.release()); - m_service_impl.reset(service_impl.release()); - m_universe_store.reset(universe_store.release()); + m_device_manager = std::move(device_manager); + m_discovery_agent = std::move(discovery_agent); + m_plugin_adaptor = std::move(plugin_adaptor); + m_plugin_manager = std::move(plugin_manager); + m_port_broker = std::move(port_broker); + m_port_manager = std::move(port_manager); + m_rpc_server = std::move(rpc_server); + m_service_impl = std::move(service_impl); + m_universe_store = std::move(universe_store); UpdatePidStore(pid_store.release()); @@ -434,7 +434,7 @@ bool OlaServer::StartHttpServer(ola::rpc::RpcServer *server, httpd->Start(); // register the pipe descriptor as a client InternalNewConnection(server, pipe_descriptor.release()); - m_httpd.reset(httpd.release()); + m_httpd = std::move(httpd); return true; } else { pipe_descriptor->Close(); diff --git a/plugins/kinet/KiNetNode.cpp b/plugins/kinet/KiNetNode.cpp index 7269e8be3..c02e0abec 100644 --- a/plugins/kinet/KiNetNode.cpp +++ b/plugins/kinet/KiNetNode.cpp @@ -20,6 +20,7 @@ #include #include +#include #include "ola/Constants.h" #include "ola/Logging.h" @@ -208,7 +209,7 @@ void KiNetNode::PopulatePacketHeader(uint16_t msg_type) { * Setup the networking components. */ bool KiNetNode::InitNetwork() { - std::unique_ptr socket(m_socket.release()); + std::unique_ptr socket(std::move(m_socket)); if (!socket.get()) socket.reset(new UDPSocket()); @@ -224,7 +225,7 @@ bool KiNetNode::InitNetwork() { socket->SetOnData(NewCallback(this, &KiNetNode::SocketReady)); m_ss->AddReadDescriptor(socket.get()); - m_socket.reset(socket.release()); + m_socket = std::move(socket); return true; } } // namespace kinet diff --git a/plugins/nanoleaf/NanoleafNode.cpp b/plugins/nanoleaf/NanoleafNode.cpp index da8fe95cd..027099108 100644 --- a/plugins/nanoleaf/NanoleafNode.cpp +++ b/plugins/nanoleaf/NanoleafNode.cpp @@ -22,6 +22,7 @@ #include #include +#include #include #include "ola/Constants.h" @@ -157,7 +158,7 @@ void NanoleafNode::SocketReady() { * Setup the networking components. */ bool NanoleafNode::InitNetwork() { - std::unique_ptr socket(m_socket.release()); + std::unique_ptr socket(std::move(m_socket)); if (!socket.get()) { socket.reset(new UDPSocket()); @@ -176,7 +177,7 @@ bool NanoleafNode::InitNetwork() { // Do we need to call this if we don't bind? socket->SetOnData(NewCallback(this, &NanoleafNode::SocketReady)); m_ss->AddReadDescriptor(socket.get()); - m_socket.reset(socket.release()); + m_socket = std::move(socket); return true; } } // namespace nanoleaf diff --git a/plugins/openpixelcontrol/OPCServer.cpp b/plugins/openpixelcontrol/OPCServer.cpp index 829e388ae..c3aea8566 100644 --- a/plugins/openpixelcontrol/OPCServer.cpp +++ b/plugins/openpixelcontrol/OPCServer.cpp @@ -21,6 +21,7 @@ #include "plugins/openpixelcontrol/OPCServer.h" #include +#include #include "ola/Callback.h" #include "ola/Logging.h" #include "ola/base/Array.h" @@ -88,7 +89,7 @@ bool OPCServer::Init() { return false; } m_ss->AddReadDescriptor(listening_socket.get()); - m_listening_socket.reset(listening_socket.release()); + m_listening_socket = std::move(listening_socket); return true; } diff --git a/plugins/usbdmx/AVLdiyD512.cpp b/plugins/usbdmx/AVLdiyD512.cpp index 1d41e1f6a..0660dde62 100644 --- a/plugins/usbdmx/AVLdiyD512.cpp +++ b/plugins/usbdmx/AVLdiyD512.cpp @@ -22,6 +22,7 @@ #include #include +#include #include "libs/usb/LibUsbAdaptor.h" #include "ola/Logging.h" @@ -105,7 +106,7 @@ bool SynchronousAVLdiyD512::Init() { if (!sender->Start()) { return false; } - m_sender.reset(sender.release()); + m_sender = std::move(sender); return true; } diff --git a/plugins/usbdmx/AnymauDMX.cpp b/plugins/usbdmx/AnymauDMX.cpp index 386598260..cc000beaf 100644 --- a/plugins/usbdmx/AnymauDMX.cpp +++ b/plugins/usbdmx/AnymauDMX.cpp @@ -22,6 +22,7 @@ #include #include +#include #include "libs/usb/LibUsbAdaptor.h" #include "ola/Logging.h" @@ -105,7 +106,7 @@ bool SynchronousAnymauDMX::Init() { if (!sender->Start()) { return false; } - m_sender.reset(sender.release()); + m_sender = std::move(sender); return true; } diff --git a/plugins/usbdmx/AsyncPluginImpl.cpp b/plugins/usbdmx/AsyncPluginImpl.cpp index 758181469..816053f24 100644 --- a/plugins/usbdmx/AsyncPluginImpl.cpp +++ b/plugins/usbdmx/AsyncPluginImpl.cpp @@ -141,7 +141,7 @@ bool AsyncPluginImpl::Start() { return false; } - m_agent.reset(agent.release()); + m_agent = std::move(agent); return true; } diff --git a/plugins/usbdmx/DMXCProjectsNodleU1.cpp b/plugins/usbdmx/DMXCProjectsNodleU1.cpp index 004b3b838..aebf1d0b3 100644 --- a/plugins/usbdmx/DMXCProjectsNodleU1.cpp +++ b/plugins/usbdmx/DMXCProjectsNodleU1.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include "ola/Logging.h" #include "ola/Constants.h" @@ -288,7 +289,7 @@ bool SynchronousDMXCProjectsNodleU1::Init() { if (!sender->Start()) { return false; } - m_sender.reset(sender.release()); + m_sender = std::move(sender); } if (m_mode & INPUT_ENABLE_MASK) { // input port active @@ -298,7 +299,7 @@ bool SynchronousDMXCProjectsNodleU1::Init() { if (!receiver->Start()) { return false; } - m_receiver.reset(receiver.release()); + m_receiver = std::move(receiver); } return true; diff --git a/plugins/usbdmx/DMXCreator512Basic.cpp b/plugins/usbdmx/DMXCreator512Basic.cpp index 932fcd4f5..cff85b2a3 100644 --- a/plugins/usbdmx/DMXCreator512Basic.cpp +++ b/plugins/usbdmx/DMXCreator512Basic.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include "libs/usb/LibUsbAdaptor.h" #include "ola/Logging.h" @@ -172,7 +173,7 @@ bool SynchronousDMXCreator512Basic::Init() { if (!sender->Start()) { return false; } - m_sender.reset(sender.release()); + m_sender = std::move(sender); return true; } diff --git a/plugins/usbdmx/EurolitePro.cpp b/plugins/usbdmx/EurolitePro.cpp index 500e3a742..2a993706d 100644 --- a/plugins/usbdmx/EurolitePro.cpp +++ b/plugins/usbdmx/EurolitePro.cpp @@ -22,6 +22,7 @@ #include #include +#include #include "libs/usb/LibUsbAdaptor.h" #include "ola/Constants.h" @@ -204,7 +205,7 @@ bool SynchronousEurolitePro::Init() { if (!sender->Start()) { return false; } - m_sender.reset(sender.release()); + m_sender = std::move(sender); return true; } diff --git a/plugins/usbdmx/ScanlimeFadecandy.cpp b/plugins/usbdmx/ScanlimeFadecandy.cpp index 84a2e9683..1d413644a 100644 --- a/plugins/usbdmx/ScanlimeFadecandy.cpp +++ b/plugins/usbdmx/ScanlimeFadecandy.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include "libs/usb/LibUsbAdaptor.h" #include "ola/base/Array.h" @@ -271,7 +272,7 @@ bool SynchronousScanlimeFadecandy::Init() { if (!sender->Start()) { return false; } - m_sender.reset(sender.release()); + m_sender = std::move(sender); return true; } diff --git a/plugins/usbdmx/ShowJockeyDMXU1.cpp b/plugins/usbdmx/ShowJockeyDMXU1.cpp index f6ef0e44f..b2ea168dc 100644 --- a/plugins/usbdmx/ShowJockeyDMXU1.cpp +++ b/plugins/usbdmx/ShowJockeyDMXU1.cpp @@ -28,8 +28,9 @@ #include "plugins/usbdmx/ShowJockeyDMXU1.h" #include -#include #include +#include +#include #include "libs/usb/LibUsbAdaptor.h" #include "ola/Constants.h" @@ -248,7 +249,7 @@ bool SynchronousShowJockeyDMXU1::Init() { return false; } - m_sender.reset(sender.release()); + m_sender = std::move(sender); return true; } @@ -353,7 +354,7 @@ bool AsynchronousShowJockeyDMXU1::Init() { endpoint, max_packet_size, usb_handle)); - m_sender.reset(sender.release()); + m_sender = std::move(sender); return true; } diff --git a/plugins/usbdmx/Sunlite.cpp b/plugins/usbdmx/Sunlite.cpp index b3907e7c0..9f4c9a6c5 100644 --- a/plugins/usbdmx/Sunlite.cpp +++ b/plugins/usbdmx/Sunlite.cpp @@ -21,6 +21,7 @@ #include "plugins/usbdmx/Sunlite.h" #include +#include #include "libs/usb/LibUsbAdaptor.h" #include "ola/Constants.h" @@ -154,7 +155,7 @@ bool SynchronousSunlite::Init() { if (!sender->Start()) { return false; } - m_sender.reset(sender.release()); + m_sender = std::move(sender); return true; } diff --git a/plugins/usbdmx/UsbDmxPlugin.cpp b/plugins/usbdmx/UsbDmxPlugin.cpp index c728f84ae..db2e743ba 100644 --- a/plugins/usbdmx/UsbDmxPlugin.cpp +++ b/plugins/usbdmx/UsbDmxPlugin.cpp @@ -21,6 +21,7 @@ #include "plugins/usbdmx/UsbDmxPlugin.h" #include +#include #include "ola/Logging.h" #include "ola/base/Flags.h" @@ -74,7 +75,7 @@ bool UsbDmxPlugin::StartHook() { } if (impl->Start()) { - m_impl.reset(impl.release()); + m_impl = std::move(impl); return true; } else { return false; diff --git a/plugins/usbdmx/VellemanK8062.cpp b/plugins/usbdmx/VellemanK8062.cpp index b2ed2c751..36f66d444 100644 --- a/plugins/usbdmx/VellemanK8062.cpp +++ b/plugins/usbdmx/VellemanK8062.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include "libs/usb/LibUsbAdaptor.h" #include "ola/Logging.h" @@ -316,7 +317,7 @@ bool SynchronousVellemanK8062::Init() { if (!sender->Start()) { return false; } - m_sender.reset(sender.release()); + m_sender = std::move(sender); return true; } diff --git a/plugins/usbpro/ArduinoWidget.cpp b/plugins/usbpro/ArduinoWidget.cpp index 8c9e1d5bf..475947cf2 100644 --- a/plugins/usbpro/ArduinoWidget.cpp +++ b/plugins/usbpro/ArduinoWidget.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include "ola/io/ByteString.h" #include "ola/Constants.h" @@ -122,7 +123,7 @@ void ArduinoWidgetImpl::SendRDMRequest(RDMRequest *request_ptr, } m_rdm_request_callback = on_complete; - m_pending_request.reset(request.release()); + m_pending_request = std::move(request); if (SendMessage(RDM_REQUEST_LABEL, data.data(), data.size())) { return; } @@ -161,7 +162,7 @@ void ArduinoWidgetImpl::HandleRDMResponse(const uint8_t *data, ola::rdm::RDMCallback *callback = m_rdm_request_callback; m_rdm_request_callback = NULL; std::unique_ptr request( - m_pending_request.release()); + std::move(m_pending_request)); if (length == 0) { // invalid response diff --git a/plugins/usbpro/DmxTriWidget.cpp b/plugins/usbpro/DmxTriWidget.cpp index 440e7d9a5..3a9c49307 100644 --- a/plugins/usbpro/DmxTriWidget.cpp +++ b/plugins/usbpro/DmxTriWidget.cpp @@ -151,7 +151,7 @@ void DmxTriWidgetImpl::SendRDMRequest(RDMRequest *request_ptr, } // store pointers - m_pending_rdm_request.reset(request.release()); + m_pending_rdm_request = std::move(request); m_rdm_request_callback = on_complete; MaybeSendNextRequest(); } diff --git a/plugins/usbpro/DmxterWidget.cpp b/plugins/usbpro/DmxterWidget.cpp index 126dfced3..11b9249bc 100644 --- a/plugins/usbpro/DmxterWidget.cpp +++ b/plugins/usbpro/DmxterWidget.cpp @@ -20,6 +20,7 @@ #include #include +#include #include #include "ola/Constants.h" #include "ola/Logging.h" @@ -135,7 +136,7 @@ void DmxterWidgetImpl::SendRDMRequest(RDMRequest *request_ptr, } m_rdm_request_callback = on_complete; - m_pending_request.reset(request.release()); + m_pending_request = std::move(request); if (SendMessage(label, data.data(), data.size())) { return; } @@ -250,7 +251,7 @@ void DmxterWidgetImpl::HandleRDMResponse(const uint8_t *data, ola::rdm::RDMCallback *callback = m_rdm_request_callback; m_rdm_request_callback = NULL; - unique_ptr request(m_pending_request.release()); + unique_ptr request(std::move(m_pending_request)); if (length < sizeof(ResponseHeader)) { OLA_WARN << "Invalid RDM response from the widget"; diff --git a/plugins/usbpro/EnttecUsbProWidget.cpp b/plugins/usbpro/EnttecUsbProWidget.cpp index d14793509..29bc853e1 100644 --- a/plugins/usbpro/EnttecUsbProWidget.cpp +++ b/plugins/usbpro/EnttecUsbProWidget.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include "ola/Callback.h" #include "ola/Constants.h" @@ -242,7 +243,7 @@ void EnttecPortImpl::SendRDMRequest(RDMRequest *request_ptr, request->SetTransactionNumber(m_transaction_number++); request->SetPortId(PORT_ID); - m_pending_request.reset(request.release()); + m_pending_request = std::move(request); m_rdm_request_callback = on_complete; bool ok = PackAndSendRDMRequest( @@ -485,7 +486,8 @@ void EnttecPortImpl::HandleIncomingDataMessage(const uint8_t *data, } else if (m_rdm_request_callback) { ola::rdm::RDMCallback *callback = m_rdm_request_callback; m_rdm_request_callback = NULL; - unique_ptr request(m_pending_request.release()); + unique_ptr request( + std::move(m_pending_request)); unique_ptr reply; if (waiting_for_dub_response) { reply.reset(RDMReply::DUBReply(rdm::RDMFrame(data, length))); diff --git a/plugins/usbpro/RobeWidget.cpp b/plugins/usbpro/RobeWidget.cpp index b4bfe62a3..7508f5b5c 100644 --- a/plugins/usbpro/RobeWidget.cpp +++ b/plugins/usbpro/RobeWidget.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include "ola/Constants.h" #include "ola/Logging.h" @@ -135,7 +136,7 @@ void RobeWidgetImpl::SendRDMRequest(RDMRequest *request_ptr, << this_transaction_number; m_rdm_request_callback = on_complete; - m_pending_request.reset(request.release()); + m_pending_request = std::move(request); const uint8_t label = m_pending_request->IsDUB() ? RDM_DISCOVERY : RDM_REQUEST; @@ -296,7 +297,7 @@ void RobeWidgetImpl::HandleRDMResponse(const uint8_t *data, } ola::rdm::RDMCallback *callback = m_rdm_request_callback; m_rdm_request_callback = NULL; - unique_ptr request(m_pending_request.release()); + unique_ptr request(std::move(m_pending_request)); // this was a broadcast request if (request->DestinationUID().IsBroadcast()) { @@ -333,7 +334,7 @@ void RobeWidgetImpl::HandleDiscoveryResponse(const uint8_t *data, } else if (m_rdm_request_callback) { ola::rdm::RDMCallback *callback = m_rdm_request_callback; m_rdm_request_callback = NULL; - unique_ptr request(m_pending_request.release()); + unique_ptr request(std::move(m_pending_request)); if (length <= RDM_PADDING_BYTES) { // this indicates that no request was received diff --git a/tools/e133/DeviceManagerImpl.cpp b/tools/e133/DeviceManagerImpl.cpp index 4d37af6ef..6dac89740 100644 --- a/tools/e133/DeviceManagerImpl.cpp +++ b/tools/e133/DeviceManagerImpl.cpp @@ -34,6 +34,7 @@ #include #include +#include #include #include "libs/acn/E133Inflator.h" @@ -240,7 +241,7 @@ void DeviceManagerImpl::OnTCPConnect(TCPSocket *socket_ptr) { // setup the incoming transport, we don't need to setup the outgoing one // until we've got confirmation that we're the designated controller. - device_state->socket.reset(socket.release()); + device_state->socket = std::move(socket); device_state->in_transport.reset(new IncomingTCPTransport(&m_root_inflator, socket_ptr)); diff --git a/tools/e133/basic-controller.cpp b/tools/e133/basic-controller.cpp index ec474506e..b5fbde4bc 100644 --- a/tools/e133/basic-controller.cpp +++ b/tools/e133/basic-controller.cpp @@ -223,9 +223,9 @@ void SimpleE133Controller::OnTCPConnect(TCPSocket *socket_ptr) { return; } - device_state->health_checked_connection.reset( - health_checked_connection.release()); - device_state->socket.reset(socket.release()); + device_state->health_checked_connection = std::move( + health_checked_connection); + device_state->socket = std::move(socket); m_ss.AddReadDescriptor(socket_ptr);