code: def _detach_received(self, error):
          
          # pylint: disable=protected-access
          if error:
              condition = error.condition
              description = error.description
              info = error.info
          else:
              condition = b"amqp:unknown-error"
              description = None
              info = None
          self._error = errors._process_link_error(self.error_policy, condition, description, info)
          _logger.info("Received Link detach event: %r\nLink: %r\nDescription: %r"
                       "\nDetails: %r\nRetryable: %r\nConnection: %r",
                       condition, self.name, description, info, self._error.action.retry,
                       self._session._connection.container_id)
docs: Callback called when a link DETACH frame is received.
          This callback will process the received DETACH error to determine if
          the link is recoverable or whether it should be shutdown.
  
          :param error: The error information from the detach
           frame.
          :type error: ~uamqp.errors.ErrorResponse