void ApiListener::AddAnonymousClient(const JsonRpcConnection::Ptr& aclient)
{
- ObjectLock olock(this);
+ boost::mutex::scoped_lock(m_AnonymousClientsLock);
m_AnonymousClients.insert(aclient);
}
void ApiListener::RemoveAnonymousClient(const JsonRpcConnection::Ptr& aclient)
{
- ObjectLock olock(this);
+ boost::mutex::scoped_lock(m_AnonymousClientsLock);
m_AnonymousClients.erase(aclient);
}
std::set<JsonRpcConnection::Ptr> ApiListener::GetAnonymousClients(void) const
{
- ObjectLock olock(this);
+ boost::mutex::scoped_lock(m_AnonymousClientsLock);
return m_AnonymousClients;
}
void ApiListener::AddHttpClient(const HttpServerConnection::Ptr& aclient)
{
- ObjectLock olock(this);
+ boost::mutex::scoped_lock(m_HttpClientsLock);
m_HttpClients.insert(aclient);
}
void ApiListener::RemoveHttpClient(const HttpServerConnection::Ptr& aclient)
{
- ObjectLock olock(this);
+ boost::mutex::scoped_lock(m_HttpClientsLock);
m_HttpClients.erase(aclient);
}
std::set<HttpServerConnection::Ptr> ApiListener::GetHttpClients(void) const
{
- ObjectLock olock(this);
+ boost::mutex::scoped_lock(m_HttpClientsLock);
return m_HttpClients;
}
private:
boost::shared_ptr<SSL_CTX> m_SSLContext;
std::set<TcpSocket::Ptr> m_Servers;
+
+ mutable boost::mutex m_AnonymousClientsLock;
+ mutable boost::mutex m_HttpClientsLock;
std::set<JsonRpcConnection::Ptr> m_AnonymousClients;
std::set<HttpServerConnection::Ptr> m_HttpClients;
+
Timer::Ptr m_Timer;
Timer::Ptr m_ReconnectTimer;
Timer::Ptr m_AuthorityTimer;