code: def _alert(self, args):
          
          reply_code = args.read_short()
          reply_text = args.read_shortstr()
          details = args.read_table()
  
          self.alerts.put((reply_code, reply_text, details))
docs: This method allows the server to send a non-fatal warning to
          the client.  This is used for methods that are normally
          asynchronous and thus do not have confirmations, and for which
          the server may detect errors that need to be reported.  Fatal
          errors are handled as channel or connection exceptions; non-
          fatal errors are sent through this method.
  
          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.
  
              details: table
  
                  detailed information for warning
  
                  A set of fields that provide more information about
                  the problem.  The meaning of these fields are defined
                  on a per-reply-code basis (TO BE DEFINED).