Method: ActiveMatrix::ClientPool::HomeserverPool#clear!

Defined in:
lib/active_matrix/client_pool.rb

#clear!Object



150
151
152
153
154
155
156
157
158
159
160
161
162
163
# File 'lib/active_matrix/client_pool.rb', line 150

def clear!
  @mutex.synchronize do
    # Stop all clients
    (@available + @in_use.values.map { |e| e[:client] }).each do |client|
      client.stop_listener if client.listening?
      client.logout if client.logged_in?
    rescue StandardError => e
      logger.error "Error cleaning up client: #{e.message}"
    end

    @available.clear
    @in_use.clear
  end
end