code: def _start(self, args):
          
          self.version_major = args.read_octet()
          self.version_minor = args.read_octet()
          self.server_properties = args.read_table()
          self.mechanisms = args.read_longstr().split(' ')
          self.locales = args.read_longstr().split(' ')
  
          AMQP_LOGGER.debug('Start from server, version: %d.%d, properties: %s, mechanisms: %s, locales: %s'
                  % (self.version_major, self.version_minor,
                     str(self.server_properties), self.mechanisms, self.locales))
docs: start connection negotiation
  
          This method starts the connection negotiation process by
          telling the client the protocol version that the server
          proposes, along with a list of security mechanisms which the
          client can use for authentication.
  
          RULE:
  
              If the client cannot handle the protocol version suggested
              by the server it MUST close the socket connection.
  
          RULE:
  
              The server MUST provide a protocol version that is lower
              than or equal to that requested by the client in the
              protocol header. If the server cannot support the
              specified protocol it MUST NOT send this method, but MUST
              close the socket connection.
  
          PARAMETERS:
              version_major: octet
  
                  protocol major version
  
                  The protocol major version that the server agrees to
                  use, which cannot be higher than the client's major
                  version.
  
              version_minor: octet
  
                  protocol major version
  
                  The protocol minor version that the server agrees to
                  use, which cannot be higher than the client's minor
                  version.
  
              server_properties: table
  
                  server properties
  
              mechanisms: longstr
  
                  available security mechanisms
  
                  A list of the security mechanisms that the server
                  supports, delimited by spaces.  Currently ASL supports
                  these mechanisms: PLAIN.
  
              locales: longstr
  
                  available message locales
  
                  A list of the message locales that the server
                  supports, delimited by spaces.  The locale defines the
                  language in which the server will send reply texts.
  
                  RULE:
  
                      All servers MUST support at least the en_US
                      locale.