diff --git a/client/client_connection.cpp b/client/client_connection.cpp index 20031844..da5e5262 100644 --- a/client/client_connection.cpp +++ b/client/client_connection.cpp @@ -93,7 +93,7 @@ bool PendingRequest::operator<(const PendingRequest& other) const ClientConnection::ClientConnection(boost::asio::io_context& io_context, const ClientSettings::Server& server) - : io_context_(io_context), strand_(boost::asio::make_strand(io_context_.get_executor())), resolver_(strand_), socket_(strand_), reqId_(1), server_(server) + : strand_(boost::asio::make_strand(io_context.get_executor())), resolver_(strand_), socket_(strand_), reqId_(1), server_(server) { base_msg_size_ = base_message_.getSize(); buffer_.resize(base_msg_size_); diff --git a/client/client_connection.hpp b/client/client_connection.hpp index bd107934..221d5056 100644 --- a/client/client_connection.hpp +++ b/client/client_connection.hpp @@ -140,7 +140,6 @@ protected: std::vector buffer_; size_t base_msg_size_; - boost::asio::io_context& io_context_; boost::asio::strand strand_; tcp::resolver resolver_; tcp::socket socket_; diff --git a/server/control_server.cpp b/server/control_server.cpp index 7c55ffb8..772f714f 100644 --- a/server/control_server.cpp +++ b/server/control_server.cpp @@ -55,7 +55,7 @@ ControlServer::~ControlServer() void ControlServer::cleanup() { - auto new_end = std::remove_if(sessions_.begin(), sessions_.end(), [](std::weak_ptr session) { return session.expired(); }); + auto new_end = std::remove_if(sessions_.begin(), sessions_.end(), [](const std::weak_ptr& session) { return session.expired(); }); auto count = distance(new_end, sessions_.end()); if (count > 0) { diff --git a/server/publishZeroConf/publish_mdns.hpp b/server/publishZeroConf/publish_mdns.hpp index 83fd542e..565847b6 100644 --- a/server/publishZeroConf/publish_mdns.hpp +++ b/server/publishZeroConf/publish_mdns.hpp @@ -41,7 +41,7 @@ struct mDNSService class PublishmDNS { public: - PublishmDNS(const std::string& serviceName, boost::asio::io_context& ioc) : serviceName_(serviceName), ioc_(ioc) + PublishmDNS(const std::string& serviceName, boost::asio::io_context& ioc) : serviceName_(serviceName), io_context_(ioc) { } @@ -51,7 +51,7 @@ public: protected: std::string serviceName_; - boost::asio::io_context& ioc_; + boost::asio::io_context& io_context_; }; #if defined(HAS_AVAHI) diff --git a/server/server.cpp b/server/server.cpp index e1450f84..bf0dced9 100644 --- a/server/server.cpp +++ b/server/server.cpp @@ -1,6 +1,6 @@ /*** This file is part of snapcast - Copyright (C) 2014-2021 Johannes Pohl + Copyright (C) 2014-2022 Johannes Pohl This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -159,7 +159,6 @@ void Server::processRequest(const jsonrpcpp::request_ptr request, const OnRespon // Notification: {"jsonrpc":"2.0","method":"Client.OnVolumeChanged","params":{"id":"00:21:6a:7d:74:fc","volume":{"muted":false,"percent":74}}} // clang-format on - // std::lock_guard lock(clientMutex_); clientInfo->config.volume.fromJson(request->params().get("volume")); result["volume"] = clientInfo->config.volume.toJson(); notification = std::make_shared( @@ -636,7 +635,6 @@ void Server::processRequest(const jsonrpcpp::request_ptr request, const OnRespon void Server::onMessageReceived(std::shared_ptr controlSession, const std::string& message, const ResponseHander& response_handler) { // LOG(DEBUG, LOG_TAG) << "onMessageReceived: " << message << "\n"; - // std::lock_guard lock(clientMutex_); std::lock_guard lock(Config::instance().getMutex()); jsonrpcpp::entity_ptr entity(nullptr); try @@ -712,7 +710,6 @@ void Server::onMessageReceived(std::shared_ptr controlSession, c void Server::onMessageReceived(StreamSession* streamSession, const msg::BaseMessage& baseMessage, char* buffer) { - // std::lock_guard lock(clientMutex_); LOG(DEBUG, LOG_TAG) << "onMessageReceived: " << baseMessage.type << ", size: " << baseMessage.size << ", id: " << baseMessage.id << ", refers: " << baseMessage.refersTo << ", sent: " << baseMessage.sent.sec << "," << baseMessage.sent.usec << ", recv: " << baseMessage.received.sec << "," << baseMessage.received.usec << "\n"; diff --git a/server/server.hpp b/server/server.hpp index e916c6c5..bcd4ba39 100644 --- a/server/server.hpp +++ b/server/server.hpp @@ -93,8 +93,6 @@ private: /// @param deferred the delay after the last call to saveConfig void saveConfig(const std::chrono::milliseconds& deferred = std::chrono::seconds(2)); - // mutable std::recursive_mutex controlMutex_; - // mutable std::recursive_mutex clientMutex_; boost::asio::io_context& io_context_; boost::asio::steady_timer config_timer_; diff --git a/server/stream_server.hpp b/server/stream_server.hpp index 5b6eec94..284e210c 100644 --- a/server/stream_server.hpp +++ b/server/stream_server.hpp @@ -86,7 +86,6 @@ private: void onDisconnect(StreamSession* streamSession) override; mutable std::recursive_mutex sessionsMutex_; - // mutable std::recursive_mutex clientMutex_; std::vector> sessions_; boost::asio::io_context& io_context_; std::vector acceptor_; diff --git a/server/streamreader/pcm_stream.cpp b/server/streamreader/pcm_stream.cpp index a412274d..e1217fb7 100644 --- a/server/streamreader/pcm_stream.cpp +++ b/server/streamreader/pcm_stream.cpp @@ -46,7 +46,7 @@ static constexpr auto LOG_TAG = "PcmStream"; PcmStream::PcmStream(PcmStream::Listener* pcmListener, boost::asio::io_context& ioc, const ServerSettings& server_settings, const StreamUri& uri) : active_(false), strand_(boost::asio::make_strand(ioc.get_executor())), pcmListeners_{pcmListener}, uri_(uri), chunk_ms_(20), state_(ReaderState::kIdle), - ioc_(ioc), server_settings_(server_settings), req_id_(0), property_timer_(strand_) + server_settings_(server_settings), req_id_(0), property_timer_(strand_) { encoder::EncoderFactory encoderFactory; if (uri_.query.find(kUriCodec) == uri_.query.end()) diff --git a/server/streamreader/pcm_stream.hpp b/server/streamreader/pcm_stream.hpp index d33a27be..29839e83 100644 --- a/server/streamreader/pcm_stream.hpp +++ b/server/streamreader/pcm_stream.hpp @@ -189,7 +189,6 @@ protected: std::string name_; std::atomic state_; Properties properties_; - boost::asio::io_context& ioc_; ServerSettings server_settings_; std::unique_ptr stream_ctrl_; std::atomic req_id_; diff --git a/server/streamreader/stream_manager.cpp b/server/streamreader/stream_manager.cpp index d10fce41..2b9a82d4 100644 --- a/server/streamreader/stream_manager.cpp +++ b/server/streamreader/stream_manager.cpp @@ -1,6 +1,6 @@ /*** This file is part of snapcast - Copyright (C) 2014-2021 Johannes Pohl + Copyright (C) 2014-2022 Johannes Pohl This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -47,7 +47,7 @@ namespace streamreader StreamManager::StreamManager(PcmStream::Listener* pcmListener, boost::asio::io_context& ioc, const ServerSettings& settings) // const std::string& defaultSampleFormat, const std::string& defaultCodec, size_t defaultChunkBufferMs) - : pcmListener_(pcmListener), settings_(settings), ioc_(ioc) + : pcmListener_(pcmListener), settings_(settings), io_context_(ioc) { } @@ -79,20 +79,20 @@ PcmStreamPtr StreamManager::addStream(StreamUri& streamUri) if (streamUri.scheme == "pipe") { - stream = make_shared(pcmListener_, ioc_, settings_, streamUri); + stream = make_shared(pcmListener_, io_context_, settings_, streamUri); } else if (streamUri.scheme == "file") { - stream = make_shared(pcmListener_, ioc_, settings_, streamUri); + stream = make_shared(pcmListener_, io_context_, settings_, streamUri); } else if (streamUri.scheme == "process") { - stream = make_shared(pcmListener_, ioc_, settings_, streamUri); + stream = make_shared(pcmListener_, io_context_, settings_, streamUri); } #ifdef HAS_ALSA else if (streamUri.scheme == "alsa") { - stream = make_shared(pcmListener_, ioc_, settings_, streamUri); + stream = make_shared(pcmListener_, io_context_, settings_, streamUri); } #endif else if ((streamUri.scheme == "spotify") || (streamUri.scheme == "librespot")) @@ -101,7 +101,7 @@ PcmStreamPtr StreamManager::addStream(StreamUri& streamUri) // that all constructors of all parent classes also use the overwritten sample // format. streamUri.query[kUriSampleFormat] = "44100:16:2"; - stream = make_shared(pcmListener_, ioc_, settings_, streamUri); + stream = make_shared(pcmListener_, io_context_, settings_, streamUri); } else if (streamUri.scheme == "airplay") { @@ -109,15 +109,15 @@ PcmStreamPtr StreamManager::addStream(StreamUri& streamUri) // that all constructors of all parent classes also use the overwritten sample // format. streamUri.query[kUriSampleFormat] = "44100:16:2"; - stream = make_shared(pcmListener_, ioc_, settings_, streamUri); + stream = make_shared(pcmListener_, io_context_, settings_, streamUri); } else if (streamUri.scheme == "tcp") { - stream = make_shared(pcmListener_, ioc_, settings_, streamUri); + stream = make_shared(pcmListener_, io_context_, settings_, streamUri); } else if (streamUri.scheme == "meta") { - stream = make_shared(pcmListener_, streams_, ioc_, settings_, streamUri); + stream = make_shared(pcmListener_, streams_, io_context_, settings_, streamUri); } else { diff --git a/server/streamreader/stream_manager.hpp b/server/streamreader/stream_manager.hpp index 3b9fda5d..e82bf6b8 100644 --- a/server/streamreader/stream_manager.hpp +++ b/server/streamreader/stream_manager.hpp @@ -1,6 +1,6 @@ /*** This file is part of snapcast - Copyright (C) 2014-2021 Johannes Pohl + Copyright (C) 2014-2022 Johannes Pohl This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -55,7 +55,7 @@ private: std::vector streams_; PcmStream::Listener* pcmListener_; ServerSettings settings_; - boost::asio::io_context& ioc_; + boost::asio::io_context& io_context_; }; } // namespace streamreader