docs: def _close(self, args):
          """
          request a channel close
  
          This method indicates that the sender wants to close the
          channel. This may be due to internal conditions (e.g. a forced
          shut-down) or due to an error handling a specific method, i.e.
          an exception.  When a close is due to an exception, the sender
          provides the class and method id of the method which caused
          the exception.
  
          RULE:
  
              After sending this method any received method except
              Channel.Close-OK MUST be discarded.
  
          RULE:
  
              The peer sending this method MAY use a counter or timeout
              to detect failure of the other peer to respond correctly
              with Channel.Close-OK..
  
          PARAMETERS:
              reply_code: short
  
                  The reply code. The AMQ reply codes are defined in AMQ
                  RFC 011.
  
              reply_text: shortstr
  
                  The localised reply text.  This text can be logged as an
                  aid to resolving issues.
  
              class_id: short
  
                  failing method class
  
                  When the close is provoked by a method exception, this
                  is the class of the method.
  
              method_id: short
  
                  failing method ID
  
                  When the close is provoked by a method exception, this
                  is the ID of the method.
  
          """
          reply_code = args.read_short()
          reply_text = args.read_shortstr()
          class_id = args.read_short()
          method_id = args.read_short()
  
  #        self.close_ok()
  
  
  #    def close_ok(self):
  #        """
  #        confirm a channel close
  #
  #        This method confirms a Channel.Close method and tells the
  #        recipient that it is safe to release resources for the channel
  #        and close the socket.
  #
  #        RULE:
  #
  #            A peer that detects a socket closure without having
  #            received a Channel.Close-Ok handshake method SHOULD log
  #            the error.
  #
  #        """
          self._send_method((20, 41))
          self._do_close()
  
          raise AMQPChannelException(reply_code, reply_text,
              (class_id, method_id))