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

def _new_conn(self):

    extra_args = []
    if self.source_address:
        extra_args.append(self.source_address)
    conn = socket.create_connection((self.host, self.port), self.timeout, *extra_args)
    conn.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, self.tcp_nodelay)
    return conn
