code: def disconnect(self):
          '''
          Disconnect from the transport. Typically socket.close(). This call is
          welcome to raise exceptions, which the Connection will catch.
  
          The transport is encouraged to allow for any pending writes to complete
          before closing the socket.
          '''
          if not hasattr(self, '_sock'):
              return
  
          # TODO: If there are bytes left on the output, queue the close for
          # later.
          self._sock.close_cb = None
          self._sock.close(f disconnect(self):
          '''
          Disconnect from the transport. Typically socket.close(). This call is
          welcome to raise exceptions, which the Connection will catch.
  
          The transport is encouraged to allow for any pending writes to complete
          before closing the socket.
          '''
          if not hasattr(self, '_sock'):
              return
  
          # TODO: If there are bytes left on the output, queue the close for
          # later.
          self._sock.close_cb = None
          self._sock.close()
docs: Disconnect from the transport. Typically socket.close(). This call is
          welcome to raise exceptions, which the Connection will catch.
  
          The transport is encouraged to allow for any pending writes to complete
          before closing the socket.