docs: def connect(cls, *args, **kwargs):
          """Open a connection.
  
          The arguments are the same as for the constructor of
          :py:class:`spead2.send.TcpStream`.
          """
          loop = kwargs.get('loop')
          if loop is None:
              loop = trollius.get_event_loop()
          future = trollius.Future(loop=loop)
  
          def callback(arg):
              if not future.done():
                  if isinstance(arg, Exception):
                      loop.call_soon_threadsafe(future.set_exception, arg)
                  else:
                      loop.call_soon_threadsafe(future.set_result, arg)
  
          stream = cls(callback, *args, **kwargs)
          yield From(future)
          raise Return(stream)