AnyEvent-RabbitMQ
view release on metacpan or search on metacpan
share/fixed_amqp0-9-1.xml view on Meta::CPAN
that requested by the client in the protocol header.
</doc>
<doc type = "scenario">
The client requests a protocol version that is higher than any valid
implementation, e.g. 2.0. The server must respond with a protocol header
indicating its supported protocol version, e.g. 1.0.
</doc>
</rule>
<rule name = "client-support">
<doc>
If the client cannot handle the protocol version suggested by the server
it MUST close the socket connection without sending any further data.
</doc>
<doc type = "scenario">
The server sends a protocol version that is lower than any valid
implementation, e.g. 0.1. The client must respond by closing the
connection without sending any further data.
</doc>
</rule>
<chassis name = "client" implement = "MUST" />
<response name = "start-ok" />
<field name = "version-major" domain = "octet" label = "protocol major version">
<doc>
The major version number can take any value from 0 to 99 as defined in the
AMQP specification.
</doc>
</field>
<field name = "version-minor" domain = "octet" label = "protocol minor version">
<doc>
The minor version number can take any value from 0 to 99 as defined in the
AMQP specification.
</doc>
</field>
<field name = "server-properties" domain = "peer-properties" label = "server properties">
<rule name = "required-fields">
<doc>
The properties SHOULD contain at least these fields: "host", specifying the
server host name or address, "product", giving the name of the server product,
"version", giving the name of the server version, "platform", giving the name
of the operating system, "copyright", if appropriate, and "information", giving
other general information.
</doc>
<doc type = "scenario">
Client connects to server and inspects the server properties. It checks for
the presence of the required fields.
</doc>
</rule>
</field>
<field name = "mechanisms" domain = "longstr" label = "available security mechanisms">
<doc>
A list of the security mechanisms that the server supports, delimited by spaces.
</doc>
<assert check = "notnull" />
</field>
<field name = "locales" domain = "longstr" label = "available message locales">
<doc>
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.
</doc>
<rule name = "required-support">
<doc>
The server MUST support at least the en_US locale.
</doc>
<doc type = "scenario">
Client connects to server and inspects the locales field. It checks for
the presence of the required locale(s).
</doc>
</rule>
<assert check = "notnull" />
</field>
</method>
<method name = "start-ok" synchronous = "1" index = "11"
label = "select security mechanism and locale">
<doc>
This method selects a SASL security mechanism.
</doc>
<chassis name = "server" implement = "MUST" />
<field name = "client-properties" domain = "peer-properties" label = "client properties">
<rule name = "required-fields">
<!-- This rule is not testable from the client side -->
<doc>
The properties SHOULD contain at least these fields: "product", giving the name
of the client product, "version", giving the name of the client version, "platform",
giving the name of the operating system, "copyright", if appropriate, and
"information", giving other general information.
</doc>
</rule>
</field>
<field name = "mechanism" domain = "shortstr" label = "selected security mechanism">
<doc>
A single security mechanisms selected by the client, which must be one of those
specified by the server.
</doc>
<rule name = "security">
<doc>
The client SHOULD authenticate using the highest-level security profile it
can handle from the list provided by the server.
</doc>
</rule>
<rule name = "validity">
<doc>
If the mechanism field does not contain one of the security mechanisms
proposed by the server in the Start method, the server MUST close the
connection without sending any further data.
</doc>
<doc type = "scenario">
Client connects to server and sends an invalid security mechanism. The
server must respond by closing the connection (a socket close, with no
connection close negotiation).
</doc>
</rule>
<assert check = "notnull" />
</field>
<field name = "response" domain = "longstr" label = "security response data">
<doc>
A block of opaque data passed to the security mechanism. The contents of this
data are defined by the SASL security mechanism.
</doc>
<assert check = "notnull" />
</field>
<field name = "locale" domain = "shortstr" label = "selected message locale">
<doc>
A single message locale selected by the client, which must be one of those
specified by the server.
</doc>
<assert check = "notnull" />
</field>
</method>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<method name = "secure" synchronous = "1" index = "20" label = "security mechanism challenge">
<doc>
The SASL protocol works by exchanging challenges and responses until both peers have
received sufficient information to authenticate each other. This method challenges
the client to provide more information.
</doc>
<chassis name = "client" implement = "MUST" />
<response name = "secure-ok" />
<field name = "challenge" domain = "longstr" label = "security challenge data">
<doc>
Challenge information, a block of opaque binary data passed to the security
mechanism.
</doc>
</field>
</method>
<method name = "secure-ok" synchronous = "1" index = "21" label = "security mechanism response">
<doc>
This method attempts to authenticate, passing a block of SASL data for the security
mechanism at the server side.
</doc>
<chassis name = "server" implement = "MUST" />
<field name = "response" domain = "longstr" label = "security response data">
<doc>
A block of opaque data passed to the security mechanism. The contents of this
data are defined by the SASL security mechanism.
</doc>
<assert check = "notnull" />
</field>
</method>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<method name = "tune" synchronous = "1" index = "30"
label = "propose connection tuning parameters">
<doc>
This method proposes a set of connection configuration values to the client. The
client can accept and/or adjust these.
</doc>
<chassis name = "client" implement = "MUST" />
<response name = "tune-ok" />
<field name = "channel-max" domain = "short" label = "proposed maximum channels">
<doc>
Specifies highest channel number that the server permits. Usable channel numbers
are in the range 1..channel-max. Zero indicates no specified limit.
( run in 0.775 second using v1.01-cache-2.11-cpan-ceb78f64989 )