)]}'
{"doc/source/reference/rpc.rst":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3eba134c25f43bda2edf3896abc26821c1ca2579","unresolved":false,"context_lines":[{"line_number":41,"context_line":".. image:: /_static/images/rpc-arch.png"},{"line_number":42,"context_line":"   :width: 60%"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":".."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Nova implements RPC (both request+response, and one-way, respectively"},{"line_number":47,"context_line":"nicknamed \u0027rpc.call\u0027 and \u0027rpc.cast\u0027) over AMQP by providing an adapter"}],"source_content_type":"text/x-rst","patch_set":2,"id":"df3967d1_4738d7ed","line":44,"range":{"start_line":44,"start_character":0,"end_line":44,"end_character":2},"updated":"2017-08-03 12:52:19.000000000","message":"Why are these here?","commit_id":"ae953d9d8aed8ffad4804f0a6ebaf32ab89057a3"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"554752989583af7f1a819ef2f9cd6ed20bb47d58","unresolved":false,"context_lines":[{"line_number":41,"context_line":".. image:: /_static/images/rpc-arch.png"},{"line_number":42,"context_line":"   :width: 60%"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":".."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Nova implements RPC (both request+response, and one-way, respectively"},{"line_number":47,"context_line":"nicknamed \u0027rpc.call\u0027 and \u0027rpc.cast\u0027) over AMQP by providing an adapter"}],"source_content_type":"text/x-rst","patch_set":2,"id":"df3967d1_02119dac","line":44,"range":{"start_line":44,"start_character":0,"end_line":44,"end_character":2},"in_reply_to":"df3967d1_4738d7ed","updated":"2017-08-03 13:11:46.000000000","message":"don\u0027t know, but it wasn\u0027t part of changing the reflow.","commit_id":"ae953d9d8aed8ffad4804f0a6ebaf32ab89057a3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3eba134c25f43bda2edf3896abc26821c1ca2579","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Figure 2 shows the following internal elements:"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"* Topic Publisher: a Topic Publisher comes to life when an rpc.call or"},{"line_number":79,"context_line":"  an rpc.cast operation is executed; this object is instantiated and"},{"line_number":80,"context_line":"  used to push a message to the queuing system. Every publisher"},{"line_number":81,"context_line":"  connects always to the same topic-based exchange; its life-cycle is"}],"source_content_type":"text/x-rst","patch_set":2,"id":"df3967d1_c23f15b2","line":78,"range":{"start_line":78,"start_character":1,"end_line":78,"end_character":18},"updated":"2017-08-03 12:52:19.000000000","message":"Yeah, this really does seem like a definition list kind of thing","commit_id":"ae953d9d8aed8ffad4804f0a6ebaf32ab89057a3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3eba134c25f43bda2edf3896abc26821c1ca2579","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"The diagram below shows the message flow during an rpc.call operation:"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"1. a Topic Publisher is instantiated to send the message request to"},{"line_number":138,"context_line":"   the queuing system; immediately before the publishing operation, a"},{"line_number":139,"context_line":"   Direct Consumer is instantiated to wait for the response message."},{"line_number":140,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"df3967d1_42a205ff","line":137,"range":{"start_line":137,"start_character":3,"end_line":137,"end_character":4},"updated":"2017-08-03 12:52:19.000000000","message":"Quick, capitalize before mriedem sees it","commit_id":"ae953d9d8aed8ffad4804f0a6ebaf32ab89057a3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3eba134c25f43bda2edf3896abc26821c1ca2579","unresolved":false,"context_lines":[{"line_number":224,"context_line":"the Kombu documentation; it has been summarized and revised here for"},{"line_number":225,"context_line":"sake of clarity):"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"* Hostname: The hostname to the AMQP server."},{"line_number":228,"context_line":"* Userid: A valid username used to authenticate to the server."},{"line_number":229,"context_line":"* Password: The password used to authenticate to the server."},{"line_number":230,"context_line":"* Virtual_host: The name of the virtual host to work with. This"},{"line_number":231,"context_line":"  virtual host must exist on the server, and the user must have access"},{"line_number":232,"context_line":"  to it. Default is \"/\"."},{"line_number":233,"context_line":"* Port: The port of the AMQP server. Default is 5672 (amqp)."},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"The following parameters are default:"},{"line_number":236,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"df3967d1_02a87dd8","line":233,"range":{"start_line":227,"start_character":0,"end_line":233,"end_character":60},"updated":"2017-08-03 12:52:19.000000000","message":"Definition list, IMO","commit_id":"ae953d9d8aed8ffad4804f0a6ebaf32ab89057a3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3eba134c25f43bda2edf3896abc26821c1ca2579","unresolved":false,"context_lines":[{"line_number":234,"context_line":""},{"line_number":235,"context_line":"The following parameters are default:"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"* Insist: insist on connecting to a server. In a configuration with"},{"line_number":238,"context_line":"  multiple load-sharing servers, the Insist option tells the server"},{"line_number":239,"context_line":"  that the client is insisting on a connection to the specified"},{"line_number":240,"context_line":"  server. Default is False."},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"* Connect_timeout: the timeout in seconds before the client gives up"},{"line_number":243,"context_line":"  connecting to the server. The default is no timeout."},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"* SSL: use SSL to connect to the server. The default is False."},{"line_number":246,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"df3967d1_227ca170","line":243,"range":{"start_line":237,"start_character":0,"end_line":243,"end_character":54},"updated":"2017-08-03 12:52:19.000000000","message":"Ditto","commit_id":"ae953d9d8aed8ffad4804f0a6ebaf32ab89057a3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3eba134c25f43bda2edf3896abc26821c1ca2579","unresolved":false,"context_lines":[{"line_number":246,"context_line":""},{"line_number":247,"context_line":"More precisely Consumers need the following parameters:"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"* Connection: the above mentioned Connection object."},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"* Queue: name of the queue."},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"* Exchange: name of the exchange the queue binds to."},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"* Routing_key: the interpretation of the routing key depends on the"},{"line_number":256,"context_line":"  value of the exchange_type attribute."},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"  * Direct exchange: if the routing key property of the message and"},{"line_number":259,"context_line":"    the routing_key attribute of the queue are identical, then the"},{"line_number":260,"context_line":"    message is forwarded to the queue."},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"  * Fanout exchange: messages are forwarded to the queues bound the"},{"line_number":263,"context_line":"    exchange, even if the binding does not have a key."},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"  * Topic exchange: if the routing key property of the message matches"},{"line_number":266,"context_line":"    the routing key of the key according to a primitive pattern"},{"line_number":267,"context_line":"    matching scheme, then the message is forwarded to the queue. The"},{"line_number":268,"context_line":"    message routing key then consists of words separated by dots (\".\","},{"line_number":269,"context_line":"    like domain names), and two special characters are available; star"},{"line_number":270,"context_line":"    (\"\") and hash (\"#\"). The star matches any word, and the hash"},{"line_number":271,"context_line":"    matches zero or more words. For example \".stock.#\" matches the"},{"line_number":272,"context_line":"    routing keys \"usd.stock\" and \"eur.stock.db\" but not"},{"line_number":273,"context_line":"    \"stock.nasdaq\"."},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"* Durable: this flag determines the durability of both exchanges and"},{"line_number":276,"context_line":"  queues; durable exchanges and queues remain active when a RabbitMQ"},{"line_number":277,"context_line":"  server restarts. Non-durable exchanges/queues (transient"},{"line_number":278,"context_line":"  exchanges/queues) are purged when a server restarts. It is worth"},{"line_number":279,"context_line":"  noting that AMQP specifies that durable queues cannot bind to"},{"line_number":280,"context_line":"  transient exchanges. Default is True."},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"* Auto_delete: if set, the exchange is deleted when all queues have"},{"line_number":283,"context_line":"  finished using it. Default is False."},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"* Exclusive: exclusive queues (such as non-shared) may only be"},{"line_number":286,"context_line":"  consumed from by the current connection. When exclusive is on, this"},{"line_number":287,"context_line":"  also implies auto_delete. Default is False."},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"* Exchange_type: AMQP defines several default exchange types (routing"},{"line_number":290,"context_line":"  algorithms) that covers most of the common messaging use cases."},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"* Auto_ack: acknowledgment is handled automatically once messages are"},{"line_number":293,"context_line":"  received. By default auto_ack is set to False, and the receiver is"},{"line_number":294,"context_line":"  required to manually handle acknowledgment."},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"* No_ack: it disable acknowledgment on the server-side. This is"},{"line_number":297,"context_line":"  different from auto_ack in that acknowledgment is turned off"},{"line_number":298,"context_line":"  altogether. This functionality increases performance but at the cost"},{"line_number":299,"context_line":"  of reliability. Messages can get lost if a client dies before it can"},{"line_number":300,"context_line":"  deliver them to the application."},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"* Auto_declare: if this is True and the exchange name is set, the"},{"line_number":303,"context_line":"  exchange will be automatically declared at instantiation. Auto"},{"line_number":304,"context_line":"  declare is on by default."},{"line_number":305,"context_line":""},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"Publishers specify most the parameters of Consumers (such as they do"}],"source_content_type":"text/x-rst","patch_set":2,"id":"df3967d1_a28f7173","line":304,"range":{"start_line":249,"start_character":0,"end_line":304,"end_character":27},"updated":"2017-08-03 12:52:19.000000000","message":"Ditto","commit_id":"ae953d9d8aed8ffad4804f0a6ebaf32ab89057a3"}]}
