{
"connection": {
"metadata": {
"channel0_only": true
},
"start": {
"metadata": {
"connection_step": true
}
},
"start-ok": {
"metadata": {
"extra_args": [
{
"name": "conn_resolver",
"type": "PromiseResolver<Connection>"
},
{
"name": "connection",
"type": "Connection"
},
{
"name": "auth_provider",
"type": "Arc<dyn AuthProvider>"
}
],
"connection_step": "StartOk(conn_resolver, connection, auth_provider)"
}
},
"secure": {
"metadata": {
"connection_step": true
}
},
"secure-ok": {
"metadata": {
"extra_args": [
{
"name": "conn_resolver",
"type": "PromiseResolver<Connection>"
},
{
"name": "connection",
"type": "Connection"
},
{
"name": "auth_provider",
"type": "Arc<dyn AuthProvider>"
}
],
"connection_step": "SecureOk(conn_resolver, connection, auth_provider)"
}
},
"tune": {
"metadata": {
"connection_step": true
}
},
"open": {
"metadata": {
"internal": true,
"state": [
{
"name": "connection",
"type": "Box<Connection>"
},
{
"name": "conn_resolver",
"type": "PromiseResolver<Connection>"
}
],
"extra_args": [
{
"name": "connection",
"type": "Box<Connection>"
},
{
"name": "conn_resolver",
"type": "PromiseResolver<Connection>"
}
]
}
},
"close": {
"metadata": {
"internal": true
}
},
"close-ok": {
"metadata": {
"internal": true,
"received_hook": true,
"extra_args": [
{
"name": "error",
"type": "Error"
}
],
"end_hook": {
"params": ["error"]
}
}
},
"blocked": {
"metadata": {
"internal": true
}
},
"unblocked": {
"metadata": {
"internal": true
}
},
"update-secret": {
"metadata": {
"internal": true
}
}
},
"channel": {
"open": {
"metadata": {
"internal": true,
"channel_init": true,
"confirmation": {
"type": "Channel"
},
"state": [
{
"name": "channel",
"type": "Channel"
}
],
"extra_args": [
{
"name": "channel",
"type": "Channel"
}
]
}
},
"open-ok": {
"metadata": {
"channel_init": true
}
},
"close": {
"metadata": {
"require_wrapper": true,
"start_hook": true
}
},
"close-ok": {
"metadata": {
"channel_deinit": true,
"received_hook": true,
"expected_reply_getter": "self.next_expected_close_ok_reply()",
"extra_args": [
{
"name": "error",
"type": "Option<Error>"
}
],
"end_hook": {
"params": ["error"]
}
}
},
"flow": {
"metadata": {
"confirmation": {
"type": "Boolean"
}
}
},
"flow-ok": {
"metadata": {
"confirmation": {
"type": "()"
}
}
}
},
"confirm": {
"select": {
"metadata": {
"channel_recovery": true
}
},
"select-ok": {
"metadata": {
"received_hook": true
}
}
},
"queue": {
"bind": {
"metadata": {
"init_clones": [
{
"from": "arguments",
"to": "creation_arguments"
}
],
"state": [
{
"name": "queue",
"type": "ShortString",
"clone": true
},
{
"name": "exchange",
"type": "ShortString",
"clone": true
},
{
"name": "routing_key",
"type": "ShortString",
"clone": true
},
{
"name": "creation_arguments",
"type": "FieldTable"
}
],
"nowait_hook": true
}
},
"bind-ok": {
"metadata": {
"received_hook": {
"params": ["queue", "exchange", "routing_key", "creation_arguments"]
}
}
},
"declare": {
"metadata": {
"confirmation": {
"type": "Queue"
},
"init_clones": [
{
"from": "arguments",
"to": "creation_arguments"
}
],
"state": [
{
"name": "options",
"type": "QueueDeclareOptions"
},
{
"name": "creation_arguments",
"type": "FieldTable"
}
],
"nowait_hook": {
"fields": ["queue"],
"nonexhaustive_args": true
}
}
},
"delete": {
"metadata": {
"state": [
{
"name": "queue",
"type": "ShortString",
"clone": true
}
],
"confirmation": {
"type": "MessageCount"
},
"nowait_hook": {
"nonexhaustive_args": true
}
}
},
"purge": {
"metadata": {
"confirmation": {
"type": "MessageCount"
}
}
},
"unbind": {
"metadata": {
"init_clones": [
{
"from": "arguments",
"to": "creation_arguments"
}
],
"state": [
{
"name": "queue",
"type": "ShortString",
"clone": true
},
{
"name": "exchange",
"type": "ShortString",
"clone": true
},
{
"name": "routing_key",
"type": "ShortString",
"clone": true
},
{
"name": "creation_arguments",
"type": "FieldTable"
}
]
}
},
"unbind-ok": {
"metadata": {
"received_hook": {
"params": ["queue", "exchange", "routing_key", "creation_arguments"]
}
}
}
},
"exchange": {
"bind": {
"metadata": {
"init_clones": [
{
"from": "arguments",
"to": "creation_arguments"
}
],
"state": [
{
"name": "destination",
"type": "ShortString",
"clone": true
},
{
"name": "source",
"type": "ShortString",
"clone": true
},
{
"name": "routing_key",
"type": "ShortString",
"clone": true
},
{
"name": "creation_arguments",
"type": "FieldTable"
}
],
"nowait_hook": true
}
},
"bind-ok": {
"metadata": {
"received_hook": {
"params": ["destination", "source", "routing_key", "creation_arguments"]
}
}
},
"declare": {
"metadata": {
"require_wrapper": true,
"extra_args": [
{
"name": "exchange_kind",
"type": "ExchangeKind"
}
],
"confirmation": {
"type": "()"
},
"init_clones": [
{
"from": "arguments",
"to": "creation_arguments"
}
],
"state": [
{
"name": "exchange",
"type": "ShortString",
"clone": true
},
{
"name": "exchange_kind",
"type": "ExchangeKind"
},
{
"name": "options",
"type": "ExchangeDeclareOptions"
},
{
"name": "creation_arguments",
"type": "FieldTable"
}
],
"nowait_hook": true
}
},
"declare-ok": {
"metadata": {
"received_hook": {
"params": ["resolver", "exchange", "exchange_kind", "options", "creation_arguments"]
}
}
},
"delete": {
"metadata": {
"state": [
{
"name": "exchange",
"type": "ShortString",
"clone": true
}
],
"nowait_hook": true
}
},
"delete-ok": {
"metadata": {
"received_hook": {
"params": ["exchange"]
}
}
},
"unbind": {
"metadata": {
"init_clones": [
{
"from": "arguments",
"to": "creation_arguments"
}
],
"state": [
{
"name": "destination",
"type": "ShortString",
"clone": true
},
{
"name": "source",
"type": "ShortString",
"clone": true
},
{
"name": "routing_key",
"type": "ShortString",
"clone": true
},
{
"name": "creation_arguments",
"type": "FieldTable"
}
],
"nowait_hook": true
}
},
"unbind-ok": {
"metadata": {
"received_hook": {
"params": ["destination", "source", "routing_key", "creation_arguments"]
}
}
}
},
"basic": {
"consume": {
"metadata": {
"require_wrapper": true,
"init_clones": [
{
"from": "arguments",
"to": "creation_arguments"
}
],
"extra_args": [
{
"name": "original",
"type": "Option<Consumer>"
}
],
"state": [
{
"name": "channel_closer",
"provider": "self.channel_closer.clone()",
"type": "Option<Arc<ChannelCloser>>"
},
{
"name": "queue",
"type": "ShortString",
"clone": true
},
{
"name": "options",
"type": "BasicConsumeOptions"
},
{
"name": "creation_arguments",
"type": "FieldTable"
},
{
"name": "original",
"type": "Option<Consumer>"
}
],
"confirmation": {
"type": "Consumer"
},
"nowait_hook": {
"fields": ["consumer_tag"]
}
}
},
"cancel": {
"metadata": {
"start_hook": {
"params": ["consumer_tag.as_str()"]
},
"nowait_hook": {
"fields": ["consumer_tag"]
}
}
},
"publish": {
"metadata": {
"carry_headers": true,
"extra_args": [
{
"name": "payload",
"type": "&[u8]"
},
{
"name": "properties",
"type": "BasicProperties"
}
],
"confirmation": {
"type": "PublisherConfirm"
},
"start_hook": {
"returns": true
}
}
},
"get": {
"metadata": {
"require_wrapper": true,
"extra_args": [
{
"name": "original",
"type": "Option<PromiseResolver<Option<BasicGetMessage>>>"
}
],
"resolver_hook": "let resolver = original.unwrap_or(resolver);",
"confirmation": {
"type": "Option<BasicGetMessage>"
}
}
},
"ack": {
"metadata": {
"end_hook": {
"params": ["multiple", "delivery_tag"]
}
}
},
"recover-async": {
"metadata": {
"end_hook": true
}
},
"recover-ok": {
"metadata": {
"received_hook": true
}
},
"nack": {
"metadata": {
"end_hook": {
"params": ["multiple", "delivery_tag"]
}
}
}
},
"metadata": {
"flags_doc": {
"active": "Enable or disable message flow on the channel.",
"auto-delete": "Delete the exchange or queue automatically when it has no consumers or bindings.",
"durable": "Survive broker restarts; the entity is persisted to disk.",
"exclusive": "Restrict access to the declaring connection; the entity is deleted when that connection closes.",
"global": "Apply quality-of-service settings globally to the entire connection rather than just this channel.",
"if-empty": "Only delete the queue if it has no messages.",
"if-unused": "Only delete the exchange or queue if it has no consumers or bindings.",
"immediate": "Return the message to the publisher if no consumer is immediately available to receive it.",
"insist": "Insist on connecting to the requested virtual host (deprecated in AMQP 0-9-1).",
"internal": "Mark the exchange as internal; clients may not publish directly to it.",
"mandatory": "Return the message to the publisher if it cannot be routed to at least one queue.",
"multiple": "Acknowledge or reject all outstanding deliveries up to and including this delivery tag.",
"no-ack": "Disable message acknowledgement; the server dequeues messages as soon as they are delivered.",
"no-local": "Do not receive messages published by this connection on this consumer.",
"nowait": "Do not wait for a server confirmation; the operation is fire-and-forget.",
"passive": "Verify that the exchange or queue exists without creating or modifying it.",
"read": "Request read permission for the resource (access class only).",
"redelivered": "Indicates the message was previously delivered but not acknowledged.",
"requeue": "Re-queue the message rather than discarding or dead-lettering it.",
"write": "Request write permission for the resource (access class only)."
}
}
}