| 71 | } |
| 72 | |
| 73 | void Endpoint::RemoveClient(const JsonRpcConnection::Ptr& client) |
| 74 | { |
| 75 | bool was_master = ApiListener::GetInstance()->IsMaster(); |
| 76 | |
| 77 | { |
| 78 | std::unique_lock<std::mutex> lock(m_ClientsLock); |
| 79 | m_Clients.erase(client); |
| 80 | |
| 81 | Log(LogInformation, "ApiListener") |
| 82 | << "Removing API client for endpoint '" << GetName() << "'. " << m_Clients.size() << " API clients left."; |
| 83 | |
| 84 | SetConnecting(false); |
| 85 | } |
| 86 | |
| 87 | bool is_master = ApiListener::GetInstance()->IsMaster(); |
| 88 | |
| 89 | if (was_master != is_master) |
| 90 | ApiListener::OnMasterChanged(is_master); |
| 91 | |
| 92 | OnDisconnected(this, client); |
| 93 | } |
| 94 | |
| 95 | std::set<JsonRpcConnection::Ptr> Endpoint::GetClients() const |
| 96 | { |
no test coverage detected