void agent_impl::add_connection(connection_ptr conn) { std::unique_lock<std::mutex> ul(mutex_conn_); unsigned id = 0; do { id = conn_id_++; } while (conn_map_.find(id) != conn_map_.end()); conn->set_id(id); conn_map_[id] = conn; }