

def __init__(self, **kwargs):
    '\n        Initialize the connection.\n        '
    self._debug = kwargs.get('debug', False)
    self._logger = kwargs.get('logger', root_logger)
    self._user = kwargs.get('user', 'guest')
    self._password = kwargs.get('password', 'guest')
    self._host = kwargs.get('host', 'localhost')
    self._port = kwargs.get('port', 5672)
    self._vhost = kwargs.get('vhost', '/')
    self._connect_timeout = kwargs.get('connect_timeout', 5)
    self._sock_opts = kwargs.get('sock_opts')
    self._sock = None
    self._heartbeat = kwargs.get('heartbeat')
    self._open_cb = kwargs.get('open_cb')
    self._close_cb = kwargs.get('close_cb')
    self._login_method = kwargs.get('login_method', 'AMQPLAIN')
    self._locale = kwargs.get('locale', 'en_US')
    self._client_properties = kwargs.get('client_properties')
    self._properties = LIBRARY_PROPERTIES.copy()
    if self._client_properties:
        self._properties.update(self._client_properties)
    self._closed = False
    self._connected = False
    self._close_info = {
        'reply_code': 0,
        'reply_text': 'first connect',
        'class_id': 0,
        'method_id': 0,
    }
    self._class_map = kwargs.get('class_map', {
        
    }).copy()
    self._class_map.setdefault(20, ChannelClass)
    self._class_map.setdefault(40, ExchangeClass)
    self._class_map.setdefault(50, QueueClass)
    self._class_map.setdefault(60, BasicClass)
    self._class_map.setdefault(90, TransactionClass)
    self._channels = {
        0: ConnectionChannel(self, 0, {
            
        }),
    }
    self._last_octet_time = None
    login_response = Writer()
    login_response.write_table({
        'LOGIN': self._user,
        'PASSWORD': self._password,
    })
    self._login_response = login_response.buffer()[4:]
    self._channel_counter = 0
    self._channel_max = 65535
    self._frame_max = 65535
    self._frames_read = 0
    self._frames_written = 0
    transport = kwargs.get('transport', 'socket')
    if (not isinstance(transport, Transport)):
        if (transport == 'event'):
            from haigha.transports.event_transport import EventTransport
            self._transport = EventTransport(self)
        elif (transport == 'gevent'):
            from haigha.transports.gevent_transport import GeventTransport
            self._transport = GeventTransport(self)
        elif (transport == 'gevent_pool'):
            from haigha.transports.gevent_transport import GeventPoolTransport
            self._transport = GeventPoolTransport(transport, **kwargs)
        elif (transport == 'socket'):
            from haigha.transports.socket_transport import SocketTransport
            self._transport = SocketTransport(self)
    else:
        self._transport = transport
    self._synchronous = kwargs.get('synchronous', False)
    self._synchronous_connect = (kwargs.get('synchronous_connect', False) or self.synchronous)
    self._output_frame_buffer = []
    self.connect(self._host, self._port)

dataset/ETHPy150Open agoragames/haigha/haigha/connection.py Connection.__init__/VarMisuse@556/787 `self`->`transport`