mirror of
https://github.com/badaix/snapcast.git
synced 2025-05-12 16:46:42 +02:00
socket stuff
git-svn-id: svn://elaine/murooma/trunk@278 d8a302eb-03bc-478d-80e4-98257eca68ef
This commit is contained in:
parent
df77bdd8cb
commit
c7655f3e55
2 changed files with 7 additions and 5 deletions
|
@ -48,7 +48,7 @@ void ServerSession::add(shared_ptr<BaseMessage> message)
|
|||
|
||||
bool ServerSession::send(BaseMessage* message)
|
||||
{
|
||||
// std::unique_lock<std::mutex> mlock(mutex_);
|
||||
std::unique_lock<std::mutex> mlock(mutex_);
|
||||
//cout << "send: " << message->type << ", size: " << message->getSize() << "\n";
|
||||
if (!connected())
|
||||
return false;
|
||||
|
@ -110,18 +110,19 @@ void ServerSession::writer()
|
|||
{
|
||||
boost::asio::streambuf streambuf;
|
||||
std::ostream stream(&streambuf);
|
||||
for (;;)
|
||||
shared_ptr<BaseMessage> message;
|
||||
while (active_)
|
||||
{
|
||||
shared_ptr<BaseMessage> message(messages.pop());
|
||||
if (messages.try_pop(message, std::chrono::milliseconds(500)))
|
||||
send(message.get());
|
||||
}
|
||||
}
|
||||
catch (std::exception& e)
|
||||
{
|
||||
std::cerr << "Exception in thread: " << e.what() << "\n";
|
||||
}
|
||||
active_ = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -51,6 +51,7 @@ protected:
|
|||
void writer();
|
||||
|
||||
std::atomic<bool> active_;
|
||||
mutable std::mutex mutex_;
|
||||
std::thread* readerThread;
|
||||
std::thread* writerThread;
|
||||
std::shared_ptr<tcp::socket> socket;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue