code: def _force_disconnect_action(self, action):
          
  
          conn_key = action.data['id']
          if self._get_connection_state(conn_key) == self.Disconnected:
              return
  
          data = self._get_connection(conn_key)
  
          # If there are any operations in progress, cancel them cleanly
          if data['state'] == self.Connecting:
              callback = data['callback']
              callback(False, 'Unexpected disconnection')
          elif data['state'] == self.Disconnecting:
              callback = data['callback']
              callback(True, None)
          elif data['state'] == self.InProgress:
              callback = data['callback']
              if data['microstate'] == 'rpc':
                  callback(False, 'Unexpected disconnection', None, None)
              elif data['microstate'] == 'open_interface':
                  callback(False, 'Unexpected disconnection')
              elif data['microstate'] == 'close_interface':
                  callback(False, 'Unexpected disconnection')
  
          int_id = data['int_id']
          conn_id = data['conn_id']
          del self._connections[conn_id]
          del self._int_connections[int_id]
docs: Forcibly disconnect a device.
  
          Args:
              action (ConnectionAction): the action object describing what we are
                  forcibly disconnecting