mirror of
https://github.com/badaix/snapcast.git
synced 2025-04-29 18:27:12 +02:00
io_context cleanups
This commit is contained in:
parent
945e19a4eb
commit
bdc6299523
11 changed files with 18 additions and 26 deletions
|
@ -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_);
|
||||
|
|
|
@ -140,7 +140,6 @@ protected:
|
|||
std::vector<char> buffer_;
|
||||
size_t base_msg_size_;
|
||||
|
||||
boost::asio::io_context& io_context_;
|
||||
boost::asio::strand<boost::asio::any_io_executor> strand_;
|
||||
tcp::resolver resolver_;
|
||||
tcp::socket socket_;
|
||||
|
|
|
@ -55,7 +55,7 @@ ControlServer::~ControlServer()
|
|||
|
||||
void ControlServer::cleanup()
|
||||
{
|
||||
auto new_end = std::remove_if(sessions_.begin(), sessions_.end(), [](std::weak_ptr<ControlSession> session) { return session.expired(); });
|
||||
auto new_end = std::remove_if(sessions_.begin(), sessions_.end(), [](const std::weak_ptr<ControlSession>& session) { return session.expired(); });
|
||||
auto count = distance(new_end, sessions_.end());
|
||||
if (count > 0)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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<std::recursive_mutex> lock(clientMutex_);
|
||||
clientInfo->config.volume.fromJson(request->params().get("volume"));
|
||||
result["volume"] = clientInfo->config.volume.toJson();
|
||||
notification = std::make_shared<jsonrpcpp::Notification>(
|
||||
|
@ -636,7 +635,6 @@ void Server::processRequest(const jsonrpcpp::request_ptr request, const OnRespon
|
|||
void Server::onMessageReceived(std::shared_ptr<ControlSession> controlSession, const std::string& message, const ResponseHander& response_handler)
|
||||
{
|
||||
// LOG(DEBUG, LOG_TAG) << "onMessageReceived: " << message << "\n";
|
||||
// std::lock_guard<std::recursive_mutex> lock(clientMutex_);
|
||||
std::lock_guard<std::mutex> lock(Config::instance().getMutex());
|
||||
jsonrpcpp::entity_ptr entity(nullptr);
|
||||
try
|
||||
|
@ -712,7 +710,6 @@ void Server::onMessageReceived(std::shared_ptr<ControlSession> controlSession, c
|
|||
|
||||
void Server::onMessageReceived(StreamSession* streamSession, const msg::BaseMessage& baseMessage, char* buffer)
|
||||
{
|
||||
// std::lock_guard<std::recursive_mutex> 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";
|
||||
|
|
|
@ -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_;
|
||||
|
||||
|
|
|
@ -86,7 +86,6 @@ private:
|
|||
void onDisconnect(StreamSession* streamSession) override;
|
||||
|
||||
mutable std::recursive_mutex sessionsMutex_;
|
||||
// mutable std::recursive_mutex clientMutex_;
|
||||
std::vector<std::weak_ptr<StreamSession>> sessions_;
|
||||
boost::asio::io_context& io_context_;
|
||||
std::vector<acceptor_ptr> acceptor_;
|
||||
|
|
|
@ -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())
|
||||
|
|
|
@ -189,7 +189,6 @@ protected:
|
|||
std::string name_;
|
||||
std::atomic<ReaderState> state_;
|
||||
Properties properties_;
|
||||
boost::asio::io_context& ioc_;
|
||||
ServerSettings server_settings_;
|
||||
std::unique_ptr<StreamControl> stream_ctrl_;
|
||||
std::atomic<int> req_id_;
|
||||
|
|
|
@ -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<PipeStream>(pcmListener_, ioc_, settings_, streamUri);
|
||||
stream = make_shared<PipeStream>(pcmListener_, io_context_, settings_, streamUri);
|
||||
}
|
||||
else if (streamUri.scheme == "file")
|
||||
{
|
||||
stream = make_shared<FileStream>(pcmListener_, ioc_, settings_, streamUri);
|
||||
stream = make_shared<FileStream>(pcmListener_, io_context_, settings_, streamUri);
|
||||
}
|
||||
else if (streamUri.scheme == "process")
|
||||
{
|
||||
stream = make_shared<ProcessStream>(pcmListener_, ioc_, settings_, streamUri);
|
||||
stream = make_shared<ProcessStream>(pcmListener_, io_context_, settings_, streamUri);
|
||||
}
|
||||
#ifdef HAS_ALSA
|
||||
else if (streamUri.scheme == "alsa")
|
||||
{
|
||||
stream = make_shared<AlsaStream>(pcmListener_, ioc_, settings_, streamUri);
|
||||
stream = make_shared<AlsaStream>(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<LibrespotStream>(pcmListener_, ioc_, settings_, streamUri);
|
||||
stream = make_shared<LibrespotStream>(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<AirplayStream>(pcmListener_, ioc_, settings_, streamUri);
|
||||
stream = make_shared<AirplayStream>(pcmListener_, io_context_, settings_, streamUri);
|
||||
}
|
||||
else if (streamUri.scheme == "tcp")
|
||||
{
|
||||
stream = make_shared<TcpStream>(pcmListener_, ioc_, settings_, streamUri);
|
||||
stream = make_shared<TcpStream>(pcmListener_, io_context_, settings_, streamUri);
|
||||
}
|
||||
else if (streamUri.scheme == "meta")
|
||||
{
|
||||
stream = make_shared<MetaStream>(pcmListener_, streams_, ioc_, settings_, streamUri);
|
||||
stream = make_shared<MetaStream>(pcmListener_, streams_, io_context_, settings_, streamUri);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -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<PcmStreamPtr> streams_;
|
||||
PcmStream::Listener* pcmListener_;
|
||||
ServerSettings settings_;
|
||||
boost::asio::io_context& ioc_;
|
||||
boost::asio::io_context& io_context_;
|
||||
};
|
||||
|
||||
} // namespace streamreader
|
||||
|
|
Loading…
Add table
Reference in a new issue