code: def _make_connection(self, addr, port):
          "make our proxy connection"
          sender = self._create_connection(addr, port)
          # XXX look out! we're depending on this "sender" implementing
          # certain Twisted APIs, and the state-machine shouldn't depend
          # on that.
  
          # XXX also, if sender implements producer/consumer stuff, we
          # should register ourselves (and implement it to) -- but this
          # should really be taking place outside the state-machine in
          # "the I/O-doing" stuff
          self._sender = sender
          self._when_done.fire(senderf _make_connection(self, addr, port):
          "make our proxy connection"
          sender = self._create_connection(addr, port)
          # XXX look out! we're depending on this "sender" implementing
          # certain Twisted APIs, and the state-machine shouldn't depend
          # on that.
  
          # XXX also, if sender implements producer/consumer stuff, we
          # should register ourselves (and implement it to) -- but this
          # should really be taking place outside the state-machine in
          # "the I/O-doing" stuff
          self._sender = sender
          self._when_done.fire(sender)
docs: make our proxy connection