'Establish a socket connection and set nodelay settings on it.
:return: New socket connection.'

def _new_conn(self):

    extra_kw = {}
    if self.source_address:
        extra_kw['source_address'] = self.source_address
    if self.socket_options:
        extra_kw['socket_options'] = self.socket_options
    try:
        conn = connection.create_connection((self.host, self.port), self.timeout, **extra_kw)
    except SocketTimeout:
        raise ConnectTimeoutError(self, ('Connection    to    %s    timed    out.    (connect    timeout=%s)' % (self.host, self.timeout)))
    return conn
