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)
|
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";
|
//cout << "send: " << message->type << ", size: " << message->getSize() << "\n";
|
||||||
if (!connected())
|
if (!connected())
|
||||||
return false;
|
return false;
|
||||||
|
@ -110,17 +110,18 @@ void ServerSession::writer()
|
||||||
{
|
{
|
||||||
boost::asio::streambuf streambuf;
|
boost::asio::streambuf streambuf;
|
||||||
std::ostream stream(&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());
|
send(message.get());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (std::exception& e)
|
catch (std::exception& e)
|
||||||
{
|
{
|
||||||
std::cerr << "Exception in thread: " << e.what() << "\n";
|
std::cerr << "Exception in thread: " << e.what() << "\n";
|
||||||
active_ = false;
|
|
||||||
}
|
}
|
||||||
|
active_ = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -51,6 +51,7 @@ protected:
|
||||||
void writer();
|
void writer();
|
||||||
|
|
||||||
std::atomic<bool> active_;
|
std::atomic<bool> active_;
|
||||||
|
mutable std::mutex mutex_;
|
||||||
std::thread* readerThread;
|
std::thread* readerThread;
|
||||||
std::thread* writerThread;
|
std::thread* writerThread;
|
||||||
std::shared_ptr<tcp::socket> socket;
|
std::shared_ptr<tcp::socket> socket;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue