code: def __init__(self, connections_max_idle_ms):
      if connections_max_idle_ms > 0:
          self.connections_max_idle = connections_max_idle_ms / 1000
      else:
          self.connections_max_idle = float("inf")
      self.next_idle_close_check_time = None
      self.update_next_idle_close_check_time(time.time())
      self.lru_connections = OrderedDict()
  
imports: from __future__ import absolute_import, division
  import collections
  import copy
  import logging
  import random
  import socket
  import threading
  import time
  import weakref
  from kafka.vendor import six
  from kafka.cluster import ClusterMetadata
  from kafka.conn import BrokerConnection, ConnectionStates, collect_hosts, get_ip_port_afi
  from kafka import errors
  from kafka.future import Future
  from kafka.metrics import AnonMeasurable
  from kafka.metrics.stats import Avg, Count, Rate
  from kafka.metrics.stats.rate import TimeUnit
  from kafka.protocol.metadata import MetadataRequest
  from kafka.util import Dict, WeakMethod
  from kafka.vendor import socketpair
  from kafka.version import __version__
label_desc: Use image node_id 1 to create a new IdleConnectionManager object from inherited base classes: object with example: obj = IdleConnectionManager(connections_max_idle_ms)