def __init__(self, transport_type, *args):
self._transport_type = transport_type<EOL>self._signames = dict((k, v) for v, k in signal.__dict__.items()<EOL>if v.startswith('<STR_LIT>'))<EOL>self._on_data = None<EOL>self._error = None<EOL>self._init()<EOL>try:<EOL><INDENT>getattr(self, '<STR_LIT>'.format(transport_type))(*args)<EOL><DEDENT>except Exception as e:<EOL><INDENT>self.close()<EOL>raise e<EOL><DEDENT>self._start_reading()<EOL>
Initialize and connect the event loop instance.

        The only arguments are the transport type and transport-specific
        configuration, like this:

        >>> BaseEventLoop('tcp', '127.0.0.1', 7450)
        Traceback (most recent call last):
            ...
        AttributeError: 'BaseEventLoop' object has no attribute '_init'
        >>> BaseEventLoop('socket', '/tmp/nvim-socket')
        Traceback (most recent call last):
            ...
        AttributeError: 'BaseEventLoop' object has no attribute '_init'
        >>> BaseEventLoop('stdio')
        Traceback (most recent call last):
            ...
        AttributeError: 'BaseEventLoop' object has no attribute '_init'
        >>> BaseEventLoop('child',
                ['nvim', '--embed', '--headless', '-u', 'NONE'])
        Traceback (most recent call last):
            ...
        AttributeError: 'BaseEventLoop' object has no attribute '_init'

        This calls the implementation-specific initialization
        `_init`, one of the `_connect_*` methods(based on `transport_type`)
        and `_start_reading()`