aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--_sources/api.txt3
-rw-r--r--_sources/contributing.txt4
-rw-r--r--_sources/poller.txt3
-rw-r--r--_sources/protocol.txt13
-rw-r--r--_sources/utils/classes.txt3
-rw-r--r--_sources/utils/messages.txt3
-rw-r--r--api.html16
-rw-r--r--contributing.html6
-rw-r--r--genindex.html105
-rw-r--r--index.html3
-rw-r--r--jobmanager.html33
-rw-r--r--objects.invbin582 -> 726 bytes
-rw-r--r--poller.html284
-rw-r--r--protocol.html36
-rw-r--r--py-modindex.html15
-rw-r--r--receiver.html13
-rw-r--r--router.html13
-rw-r--r--searchindex.js2
-rw-r--r--sender.html68
-rw-r--r--utils.html41
-rw-r--r--utils/classes.html304
-rw-r--r--utils/messages.html301
22 files changed, 1136 insertions, 133 deletions
diff --git a/_sources/api.txt b/_sources/api.txt
index b0ecf4e..b3cdc83 100644
--- a/_sources/api.txt
+++ b/_sources/api.txt
@@ -5,9 +5,10 @@ API Documentation
5.. toctree:: 5.. toctree::
6 :maxdepth: 2 6 :maxdepth: 2
7 7
8 exceptions
8 jobmanager 9 jobmanager
10 poller
9 receiver 11 receiver
10 router 12 router
11 sender 13 sender
12 utils 14 utils
13 exceptions
diff --git a/_sources/contributing.txt b/_sources/contributing.txt
index 68088df..2489abb 100644
--- a/_sources/contributing.txt
+++ b/_sources/contributing.txt
@@ -2,6 +2,10 @@
2Contributing to EventMQ 2Contributing to EventMQ
3####################### 3#######################
4 4
5A few tips when working on the code
6
7 * Use relative imports. If you use absolute imports then when you `import eventmq.exceptions` it's possible that you receive in return a different version of eventmq. exceptions installed somewhere else on the system.
8
5.. toctree:: 9.. toctree::
6 :maxdepth: 1 10 :maxdepth: 1
7 11
diff --git a/_sources/poller.txt b/_sources/poller.txt
new file mode 100644
index 0000000..1aab472
--- /dev/null
+++ b/_sources/poller.txt
@@ -0,0 +1,3 @@
1.. automodule:: eventmq.poller
2 :members:
3 :special-members:
diff --git a/_sources/protocol.txt b/_sources/protocol.txt
index 64432dc..c32501c 100644
--- a/_sources/protocol.txt
+++ b/_sources/protocol.txt
@@ -46,6 +46,19 @@ From the 0MQ manual[[2](http://api.zeromq.org/master:zmq-socket)]
46 46
47This extra frame is not shown in the specifications below. 47This extra frame is not shown in the specifications below.
48 48
49Global Frames
50-------------
51An **ACK** command consists of a 4-frame multipart message, formatted as follows.
52
53====== ============== ===========
54FRAME Value Description
55====== ============== ===========
560 _EMPTY_ leave empty
571 eMQP/1.0 Protocol version
582 ACK command
593 _MSGID_ A unique id for the msg
60====== ============== ===========
61
49eMQP / Client 62eMQP / Client
50------------- 63-------------
51A **REQUEST** command consists of a 7-frame multipart message, formatted as follows. 64A **REQUEST** command consists of a 7-frame multipart message, formatted as follows.
diff --git a/_sources/utils/classes.txt b/_sources/utils/classes.txt
new file mode 100644
index 0000000..ab48e06
--- /dev/null
+++ b/_sources/utils/classes.txt
@@ -0,0 +1,3 @@
1.. automodule:: eventmq.utils.classes
2 :members:
3 :special-members:
diff --git a/_sources/utils/messages.txt b/_sources/utils/messages.txt
new file mode 100644
index 0000000..e49897c
--- /dev/null
+++ b/_sources/utils/messages.txt
@@ -0,0 +1,3 @@
1.. automodule:: eventmq.utils.messages
2 :members:
3 :special-members:
diff --git a/api.html b/api.html
index 78c0f33..b51e9bc 100644
--- a/api.html
+++ b/api.html
@@ -31,7 +31,7 @@
31 31
32 32
33 <link rel="top" title="EventMQ 0 documentation" href="index.html"/> 33 <link rel="top" title="EventMQ 0 documentation" href="index.html"/>
34 <link rel="next" title="jobmanagerJob Manager" href="jobmanager.html"/> 34 <link rel="next" title="exceptionsExceptions" href="exceptions.html"/>
35 <link rel="prev" title="EventMQ Documentation" href="index.html"/> 35 <link rel="prev" title="EventMQ Documentation" href="index.html"/>
36 36
37 37
@@ -83,12 +83,13 @@
83 83
84 <ul class="current"> 84 <ul class="current">
85<li class="toctree-l1 current"><a class="current reference internal" href="">API Documentation</a><ul> 85<li class="toctree-l1 current"><a class="current reference internal" href="">API Documentation</a><ul>
86<li class="toctree-l2"><a class="reference internal" href="exceptions.html"><code class="docutils literal"><span class="pre">exceptions</span></code> &#8211; Exceptions</a></li>
86<li class="toctree-l2"><a class="reference internal" href="jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> &#8211; Job Manager</a></li> 87<li class="toctree-l2"><a class="reference internal" href="jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> &#8211; Job Manager</a></li>
88<li class="toctree-l2"><a class="reference internal" href="poller.html"><code class="docutils literal"><span class="pre">poller</span></code> &#8211; Poller</a></li>
87<li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> &#8211; Receiver</a></li> 89<li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> &#8211; Receiver</a></li>
88<li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> &#8211; Router</a></li> 90<li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> &#8211; Router</a></li>
89<li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> &#8211; Sender</a></li> 91<li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> &#8211; Sender</a></li>
90<li class="toctree-l2"><a class="reference internal" href="utils.html"><code class="docutils literal"><span class="pre">utils</span></code> &#8211; Utilities</a></li> 92<li class="toctree-l2"><a class="reference internal" href="utils.html"><code class="docutils literal"><span class="pre">utils</span></code> &#8211; Utilities</a></li>
91<li class="toctree-l2"><a class="reference internal" href="exceptions.html"><code class="docutils literal"><span class="pre">exceptions</span></code> &#8211; Exceptions</a></li>
92</ul> 93</ul>
93</li> 94</li>
94<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a></li> 95<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a></li>
@@ -140,12 +141,17 @@
140<h1>API Documentation<a class="headerlink" href="#api-documentation" title="Permalink to this headline">¶</a></h1> 141<h1>API Documentation<a class="headerlink" href="#api-documentation" title="Permalink to this headline">¶</a></h1>
141<div class="toctree-wrapper compound"> 142<div class="toctree-wrapper compound">
142<ul> 143<ul>
144<li class="toctree-l1"><a class="reference internal" href="exceptions.html"><code class="docutils literal"><span class="pre">exceptions</span></code> &#8211; Exceptions</a></li>
143<li class="toctree-l1"><a class="reference internal" href="jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> &#8211; Job Manager</a></li> 145<li class="toctree-l1"><a class="reference internal" href="jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> &#8211; Job Manager</a></li>
146<li class="toctree-l1"><a class="reference internal" href="poller.html"><code class="docutils literal"><span class="pre">poller</span></code> &#8211; Poller</a></li>
144<li class="toctree-l1"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> &#8211; Receiver</a></li> 147<li class="toctree-l1"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> &#8211; Receiver</a></li>
145<li class="toctree-l1"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> &#8211; Router</a></li> 148<li class="toctree-l1"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> &#8211; Router</a></li>
146<li class="toctree-l1"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> &#8211; Sender</a></li> 149<li class="toctree-l1"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> &#8211; Sender</a></li>
147<li class="toctree-l1"><a class="reference internal" href="utils.html"><code class="docutils literal"><span class="pre">utils</span></code> &#8211; Utilities</a></li> 150<li class="toctree-l1"><a class="reference internal" href="utils.html"><code class="docutils literal"><span class="pre">utils</span></code> &#8211; Utilities</a><ul>
148<li class="toctree-l1"><a class="reference internal" href="exceptions.html"><code class="docutils literal"><span class="pre">exceptions</span></code> &#8211; Exceptions</a></li> 151<li class="toctree-l2"><a class="reference internal" href="utils/classes.html"><code class="docutils literal"><span class="pre">classes</span></code> &#8211; Utility Classes</a></li>
152<li class="toctree-l2"><a class="reference internal" href="utils/messages.html"><code class="docutils literal"><span class="pre">messages</span></code> &#8211; Message Utilities</a></li>
153</ul>
154</li>
149</ul> 155</ul>
150</div> 156</div>
151</div> 157</div>
@@ -157,7 +163,7 @@
157 163
158 <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> 164 <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
159 165
160 <a href="jobmanager.html" class="btn btn-neutral float-right" title="jobmanager – Job Manager" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a> 166 <a href="exceptions.html" class="btn btn-neutral float-right" title="exceptions – Exceptions" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
161 167
162 168
163 <a href="index.html" class="btn btn-neutral" title="EventMQ Documentation" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a> 169 <a href="index.html" class="btn btn-neutral" title="EventMQ Documentation" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
diff --git a/contributing.html b/contributing.html
index 657afd5..04c9e91 100644
--- a/contributing.html
+++ b/contributing.html
@@ -135,6 +135,12 @@
135 135
136 <div class="section" id="contributing-to-eventmq"> 136 <div class="section" id="contributing-to-eventmq">
137<h1>Contributing to EventMQ<a class="headerlink" href="#contributing-to-eventmq" title="Permalink to this headline">¶</a></h1> 137<h1>Contributing to EventMQ<a class="headerlink" href="#contributing-to-eventmq" title="Permalink to this headline">¶</a></h1>
138<p>A few tips when working on the code</p>
139<blockquote>
140<div><ul class="simple">
141<li>Use relative imports. If you use absolute imports then when you <cite>import eventmq.exceptions</cite> it&#8217;s possible that you receive in return a different version of eventmq. exceptions installed somewhere else on the system.</li>
142</ul>
143</div></blockquote>
138<div class="toctree-wrapper compound"> 144<div class="toctree-wrapper compound">
139<ul> 145<ul>
140<li class="toctree-l1"><a class="reference internal" href="protocol.html">EventMQ Protocol Specification</a></li> 146<li class="toctree-l1"><a class="reference internal" href="protocol.html">EventMQ Protocol Specification</a></li>
diff --git a/genindex.html b/genindex.html
index e8758cc..23f279b 100644
--- a/genindex.html
+++ b/genindex.html
@@ -142,6 +142,7 @@
142 | <a href="#P"><strong>P</strong></a> 142 | <a href="#P"><strong>P</strong></a>
143 | <a href="#R"><strong>R</strong></a> 143 | <a href="#R"><strong>R</strong></a>
144 | <a href="#S"><strong>S</strong></a> 144 | <a href="#S"><strong>S</strong></a>
145 | <a href="#U"><strong>U</strong></a>
145 | <a href="#Z"><strong>Z</strong></a> 146 | <a href="#Z"><strong>Z</strong></a>
146 147
147</div> 148</div>
@@ -154,6 +155,10 @@
154 155
155 <dd><dl> 156 <dd><dl>
156 157
158 <dt><a href="poller.html#eventmq.poller.Poller.__init__">(eventmq.poller.Poller method)</a>
159 </dt>
160
161
157 <dt><a href="receiver.html#eventmq.receiver.Receiver.__init__">(eventmq.receiver.Receiver method)</a> 162 <dt><a href="receiver.html#eventmq.receiver.Receiver.__init__">(eventmq.receiver.Receiver method)</a>
158 </dt> 163 </dt>
159 164
@@ -170,15 +175,15 @@
170 175
171 <dd><dl> 176 <dd><dl>
172 177
173 <dt><a href="receiver.html#eventmq.receiver.Receiver.__weakref__">(eventmq.receiver.Receiver attribute)</a> 178 <dt><a href="router.html#eventmq.router.Router.__weakref__">(eventmq.router.Router attribute)</a>
174 </dt> 179 </dt>
175 180
176 181
177 <dt><a href="router.html#eventmq.router.Router.__weakref__">(eventmq.router.Router attribute)</a> 182 <dt><a href="utils/classes.html#eventmq.utils.classes.ZMQReceiveMixin.__weakref__">(eventmq.utils.classes.ZMQReceiveMixin attribute)</a>
178 </dt> 183 </dt>
179 184
180 185
181 <dt><a href="sender.html#eventmq.sender.Sender.__weakref__">(eventmq.sender.Sender attribute)</a> 186 <dt><a href="utils/classes.html#eventmq.utils.classes.ZMQSendMixin.__weakref__">(eventmq.utils.classes.ZMQSendMixin attribute)</a>
182 </dt> 187 </dt>
183 188
184 </dl></dd> 189 </dl></dd>
@@ -213,6 +218,10 @@
213 </dt> 218 </dt>
214 219
215 220
221 <dt><a href="poller.html#module-eventmq.poller">eventmq.poller (module)</a>
222 </dt>
223
224
216 <dt><a href="receiver.html#module-eventmq.receiver">eventmq.receiver (module)</a> 225 <dt><a href="receiver.html#module-eventmq.receiver">eventmq.receiver (module)</a>
217 </dt> 226 </dt>
218 227
@@ -231,6 +240,14 @@
231 </dt> 240 </dt>
232 241
233 242
243 <dt><a href="utils/classes.html#module-eventmq.utils.classes">eventmq.utils.classes (module)</a>
244 </dt>
245
246
247 <dt><a href="utils/messages.html#module-eventmq.utils.messages">eventmq.utils.messages (module)</a>
248 </dt>
249
250
234 <dt><a href="exceptions.html#eventmq.exceptions.EventMQError">EventMQError</a> 251 <dt><a href="exceptions.html#eventmq.exceptions.EventMQError">EventMQError</a>
235 </dt> 252 </dt>
236 253
@@ -241,7 +258,7 @@
241<table style="width: 100%" class="indextable genindextable"><tr> 258<table style="width: 100%" class="indextable genindextable"><tr>
242 <td style="width: 33%" valign="top"><dl> 259 <td style="width: 33%" valign="top"><dl>
243 260
244 <dt><a href="utils.html#eventmq.utils.generate_msgid">generate_msgid() (in module eventmq.utils)</a> 261 <dt><a href="utils/messages.html#eventmq.utils.messages.generate_msgid">generate_msgid() (in module eventmq.utils.messages)</a>
245 </dt> 262 </dt>
246 263
247 </dl></td> 264 </dl></td>
@@ -313,16 +330,20 @@
313<table style="width: 100%" class="indextable genindextable"><tr> 330<table style="width: 100%" class="indextable genindextable"><tr>
314 <td style="width: 33%" valign="top"><dl> 331 <td style="width: 33%" valign="top"><dl>
315 332
316 <dt><a href="router.html#eventmq.router.Router.on_inform">on_inform() (eventmq.router.Router method)</a> 333 <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.on_ack">on_ack() (eventmq.jobmanager.JobManager method)</a>
317 </dt> 334 </dt>
318 335
319 336
320 <dt><a href="router.html#eventmq.router.Router.on_receive_reply">on_receive_reply() (eventmq.router.Router method)</a> 337 <dt><a href="router.html#eventmq.router.Router.on_inform">on_inform() (eventmq.router.Router method)</a>
321 </dt> 338 </dt>
322 339
323 </dl></td> 340 </dl></td>
324 <td style="width: 33%" valign="top"><dl> 341 <td style="width: 33%" valign="top"><dl>
325 342
343 <dt><a href="router.html#eventmq.router.Router.on_receive_reply">on_receive_reply() (eventmq.router.Router method)</a>
344 </dt>
345
346
326 <dt><a href="router.html#eventmq.router.Router.on_receive_request">on_receive_request() (eventmq.router.Router method)</a> 347 <dt><a href="router.html#eventmq.router.Router.on_receive_request">on_receive_request() (eventmq.router.Router method)</a>
327 </dt> 348 </dt>
328 349
@@ -333,7 +354,25 @@
333<table style="width: 100%" class="indextable genindextable"><tr> 354<table style="width: 100%" class="indextable genindextable"><tr>
334 <td style="width: 33%" valign="top"><dl> 355 <td style="width: 33%" valign="top"><dl>
335 356
336 <dt><a href="utils.html#eventmq.utils.parse_message">parse_message() (in module eventmq.utils)</a> 357 <dt><a href="utils/messages.html#eventmq.utils.messages.parse_message">parse_message() (in module eventmq.utils.messages)</a>
358 </dt>
359
360
361 <dt><a href="utils/messages.html#eventmq.utils.messages.parse_router_message">parse_router_message() (in module eventmq.utils.messages)</a>
362 </dt>
363
364
365 <dt><a href="poller.html#eventmq.poller.Poller.poll">poll() (eventmq.poller.Poller method)</a>
366 </dt>
367
368 </dl></td>
369 <td style="width: 33%" valign="top"><dl>
370
371 <dt><a href="poller.html#eventmq.poller.Poller">Poller (class in eventmq.poller)</a>
372 </dt>
373
374
375 <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.process_message">process_message() (eventmq.jobmanager.JobManager method)</a>
337 </dt> 376 </dt>
338 377
339 </dl></td> 378 </dl></td>
@@ -343,6 +382,10 @@
343<table style="width: 100%" class="indextable genindextable"><tr> 382<table style="width: 100%" class="indextable genindextable"><tr>
344 <td style="width: 33%" valign="top"><dl> 383 <td style="width: 33%" valign="top"><dl>
345 384
385 <dt><a href="utils.html#eventmq.utils.random_characters">random_characters() (in module eventmq.utils)</a>
386 </dt>
387
388
346 <dt><a href="receiver.html#eventmq.receiver.Receiver.ready">ready (eventmq.receiver.Receiver attribute)</a> 389 <dt><a href="receiver.html#eventmq.receiver.Receiver.ready">ready (eventmq.receiver.Receiver attribute)</a>
347 </dt> 390 </dt>
348 391
@@ -357,13 +400,17 @@
357 </dt> 400 </dt>
358 401
359 402
360 <dt><a href="sender.html#eventmq.sender.Sender.recv">recv() (eventmq.sender.Sender method)</a> 403 <dt><a href="utils/classes.html#eventmq.utils.classes.ZMQReceiveMixin.recv">recv() (eventmq.utils.classes.ZMQReceiveMixin method)</a>
361 </dt> 404 </dt>
362 405
363 </dl></td> 406 </dl></td>
364 <td style="width: 33%" valign="top"><dl> 407 <td style="width: 33%" valign="top"><dl>
365 408
366 <dt><a href="sender.html#eventmq.sender.Sender.recv_multipart">recv_multipart() (eventmq.sender.Sender method)</a> 409 <dt><a href="utils/classes.html#eventmq.utils.classes.ZMQReceiveMixin.recv_multipart">recv_multipart() (eventmq.utils.classes.ZMQReceiveMixin method)</a>
410 </dt>
411
412
413 <dt><a href="poller.html#eventmq.poller.Poller.register">register() (eventmq.poller.Poller method)</a>
367 </dt> 414 </dt>
368 415
369 416
@@ -377,21 +424,29 @@
377<table style="width: 100%" class="indextable genindextable"><tr> 424<table style="width: 100%" class="indextable genindextable"><tr>
378 <td style="width: 33%" valign="top"><dl> 425 <td style="width: 33%" valign="top"><dl>
379 426
380 <dt><a href="sender.html#eventmq.sender.Sender.send">send() (eventmq.sender.Sender method)</a> 427 <dt><a href="utils/classes.html#eventmq.utils.classes.ZMQSendMixin.send">send() (eventmq.utils.classes.ZMQSendMixin method)</a>
381 </dt> 428 </dt>
382 429
383 430
384 <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.send_inform">send_inform() (eventmq.jobmanager.JobManager method)</a> 431 <dt><a href="router.html#eventmq.router.Router.send_ack">send_ack() (eventmq.router.Router method)</a>
385 </dt> 432 </dt>
386 433
387 434
388 <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.send_message">send_message() (eventmq.jobmanager.JobManager method)</a> 435 <dt><a href="utils/messages.html#eventmq.utils.messages.send_emqp_message">send_emqp_message() (in module eventmq.utils.messages)</a>
436 </dt>
437
438
439 <dt><a href="utils/messages.html#eventmq.utils.messages.send_emqp_router_message">send_emqp_router_message() (in module eventmq.utils.messages)</a>
389 </dt> 440 </dt>
390 441
391 </dl></td> 442 </dl></td>
392 <td style="width: 33%" valign="top"><dl> 443 <td style="width: 33%" valign="top"><dl>
393 444
394 <dt><a href="sender.html#eventmq.sender.Sender.send_multipart">send_multipart() (eventmq.sender.Sender method)</a> 445 <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.send_inform">send_inform() (eventmq.jobmanager.JobManager method)</a>
446 </dt>
447
448
449 <dt><a href="utils/classes.html#eventmq.utils.classes.ZMQSendMixin.send_multipart">send_multipart() (eventmq.utils.classes.ZMQSendMixin method)</a>
395 </dt> 450 </dt>
396 451
397 452
@@ -411,6 +466,16 @@
411 </dl></td> 466 </dl></td>
412</tr></table> 467</tr></table>
413 468
469<h2 id="U">U</h2>
470<table style="width: 100%" class="indextable genindextable"><tr>
471 <td style="width: 33%" valign="top"><dl>
472
473 <dt><a href="poller.html#eventmq.poller.Poller.unregister">unregister() (eventmq.poller.Poller method)</a>
474 </dt>
475
476 </dl></td>
477</tr></table>
478
414<h2 id="Z">Z</h2> 479<h2 id="Z">Z</h2>
415<table style="width: 100%" class="indextable genindextable"><tr> 480<table style="width: 100%" class="indextable genindextable"><tr>
416 <td style="width: 33%" valign="top"><dl> 481 <td style="width: 33%" valign="top"><dl>
@@ -418,9 +483,23 @@
418 <dt><a href="receiver.html#eventmq.receiver.Receiver.zcontext">zcontext (eventmq.receiver.Receiver attribute)</a> 483 <dt><a href="receiver.html#eventmq.receiver.Receiver.zcontext">zcontext (eventmq.receiver.Receiver attribute)</a>
419 </dt> 484 </dt>
420 485
486 <dd><dl>
487
488 <dt><a href="sender.html#eventmq.sender.Sender.zcontext">(eventmq.sender.Sender attribute)</a>
489 </dt>
490
491 </dl></dd>
492
493 <dt><a href="utils/classes.html#eventmq.utils.classes.ZMQReceiveMixin">ZMQReceiveMixin (class in eventmq.utils.classes)</a>
494 </dt>
495
421 </dl></td> 496 </dl></td>
422 <td style="width: 33%" valign="top"><dl> 497 <td style="width: 33%" valign="top"><dl>
423 498
499 <dt><a href="utils/classes.html#eventmq.utils.classes.ZMQSendMixin">ZMQSendMixin (class in eventmq.utils.classes)</a>
500 </dt>
501
502
424 <dt><a href="receiver.html#eventmq.receiver.Receiver.zsocket">zsocket (eventmq.receiver.Receiver attribute)</a> 503 <dt><a href="receiver.html#eventmq.receiver.Receiver.zsocket">zsocket (eventmq.receiver.Receiver attribute)</a>
425 </dt> 504 </dt>
426 505
diff --git a/index.html b/index.html
index 38e44d0..b8d0d7a 100644
--- a/index.html
+++ b/index.html
@@ -132,12 +132,13 @@
132<div class="toctree-wrapper compound"> 132<div class="toctree-wrapper compound">
133<ul> 133<ul>
134<li class="toctree-l1"><a class="reference internal" href="api.html">API Documentation</a><ul> 134<li class="toctree-l1"><a class="reference internal" href="api.html">API Documentation</a><ul>
135<li class="toctree-l2"><a class="reference internal" href="exceptions.html"><code class="docutils literal"><span class="pre">exceptions</span></code> &#8211; Exceptions</a></li>
135<li class="toctree-l2"><a class="reference internal" href="jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> &#8211; Job Manager</a></li> 136<li class="toctree-l2"><a class="reference internal" href="jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> &#8211; Job Manager</a></li>
137<li class="toctree-l2"><a class="reference internal" href="poller.html"><code class="docutils literal"><span class="pre">poller</span></code> &#8211; Poller</a></li>
136<li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> &#8211; Receiver</a></li> 138<li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> &#8211; Receiver</a></li>
137<li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> &#8211; Router</a></li> 139<li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> &#8211; Router</a></li>
138<li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> &#8211; Sender</a></li> 140<li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> &#8211; Sender</a></li>
139<li class="toctree-l2"><a class="reference internal" href="utils.html"><code class="docutils literal"><span class="pre">utils</span></code> &#8211; Utilities</a></li> 141<li class="toctree-l2"><a class="reference internal" href="utils.html"><code class="docutils literal"><span class="pre">utils</span></code> &#8211; Utilities</a></li>
140<li class="toctree-l2"><a class="reference internal" href="exceptions.html"><code class="docutils literal"><span class="pre">exceptions</span></code> &#8211; Exceptions</a></li>
141</ul> 142</ul>
142</li> 143</li>
143<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a><ul> 144<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a><ul>
diff --git a/jobmanager.html b/jobmanager.html
index 0b7e831..afd9cf6 100644
--- a/jobmanager.html
+++ b/jobmanager.html
@@ -32,8 +32,8 @@
32 32
33 <link rel="top" title="EventMQ 0 documentation" href="index.html"/> 33 <link rel="top" title="EventMQ 0 documentation" href="index.html"/>
34 <link rel="up" title="API Documentation" href="api.html"/> 34 <link rel="up" title="API Documentation" href="api.html"/>
35 <link rel="next" title="receiver – Receiver" href="receiver.html"/> 35 <link rel="next" title="poller – Poller" href="poller.html"/>
36 <link rel="prev" title="API Documentation" href="api.html"/> 36 <link rel="prev" title="exceptions – Exceptions" href="exceptions.html"/>
37 37
38 38
39 <script src="_static/js/modernizr.min.js"></script> 39 <script src="_static/js/modernizr.min.js"></script>
@@ -84,7 +84,9 @@
84 84
85 <ul class="current"> 85 <ul class="current">
86<li class="toctree-l1 current"><a class="reference internal" href="api.html">API Documentation</a><ul class="current"> 86<li class="toctree-l1 current"><a class="reference internal" href="api.html">API Documentation</a><ul class="current">
87<li class="toctree-l2"><a class="reference internal" href="exceptions.html"><code class="docutils literal"><span class="pre">exceptions</span></code> &#8211; Exceptions</a></li>
87<li class="toctree-l2 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">jobmanager</span></code> &#8211; Job Manager</a></li> 88<li class="toctree-l2 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">jobmanager</span></code> &#8211; Job Manager</a></li>
89<li class="toctree-l2"><a class="reference internal" href="poller.html"><code class="docutils literal"><span class="pre">poller</span></code> &#8211; Poller</a></li>
88<li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> &#8211; Receiver</a></li> 90<li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> &#8211; Receiver</a></li>
89<li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> &#8211; Router</a></li> 91<li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> &#8211; Router</a></li>
90<li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> &#8211; Sender</a></li> 92<li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> &#8211; Sender</a></li>
@@ -172,24 +174,27 @@ generated.</td>
172</dd></dl> 174</dd></dl>
173 175
174<dl class="method"> 176<dl class="method">
175<dt id="eventmq.jobmanager.JobManager.send_inform"> 177<dt id="eventmq.jobmanager.JobManager.on_ack">
176<code class="descname">send_inform</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.jobmanager.JobManager.send_inform" title="Permalink to this definition">¶</a></dt> 178<code class="descname">on_ack</code><span class="sig-paren">(</span><em>msgid</em>, <em>message</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.jobmanager.JobManager.on_ack" title="Permalink to this definition">¶</a></dt>
177<dd><p>Send an INFORM frame</p> 179<dd><p>Sets <code class="xref py py-attr docutils literal"><span class="pre">awaiting_ack</span></code> to False</p>
178</dd></dl> 180</dd></dl>
179 181
180<dl class="method"> 182<dl class="method">
181<dt id="eventmq.jobmanager.JobManager.send_message"> 183<dt id="eventmq.jobmanager.JobManager.process_message">
182<code class="descname">send_message</code><span class="sig-paren">(</span><em>command</em>, <em>message</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.jobmanager.JobManager.send_message" title="Permalink to this definition">¶</a></dt> 184<code class="descname">process_message</code><span class="sig-paren">(</span><em>msg</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.jobmanager.JobManager.process_message" title="Permalink to this definition">¶</a></dt>
183<dd><p>send a message to <cite>self.incoming</cite> 185<dd><p>Processes a message</p>
184:param message: a msg tuple to send</p> 186</dd></dl>
185<p>Raises:</p> 187
186<p>Returns</p> 188<dl class="method">
189<dt id="eventmq.jobmanager.JobManager.send_inform">
190<code class="descname">send_inform</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.jobmanager.JobManager.send_inform" title="Permalink to this definition">¶</a></dt>
191<dd><p>Send an INFORM frame</p>
187</dd></dl> 192</dd></dl>
188 193
189<dl class="method"> 194<dl class="method">
190<dt id="eventmq.jobmanager.JobManager.start"> 195<dt id="eventmq.jobmanager.JobManager.start">
191<code class="descname">start</code><span class="sig-paren">(</span><em>addr='tcp://127.0.0.1:47291'</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.jobmanager.JobManager.start" title="Permalink to this definition">¶</a></dt> 196<code class="descname">start</code><span class="sig-paren">(</span><em>addr='tcp://127.0.0.1:47291'</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.jobmanager.JobManager.start" title="Permalink to this definition">¶</a></dt>
192<dd><p>Begin listening for job requests</p> 197<dd><p>Connect to <cite>addr</cite> and begin listening for job requests</p>
193<table class="docutils field-list" frame="void" rules="none"> 198<table class="docutils field-list" frame="void" rules="none">
194<col class="field-name" /> 199<col class="field-name" />
195<col class="field-body" /> 200<col class="field-body" />
@@ -211,10 +216,10 @@ generated.</td>
211 216
212 <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> 217 <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
213 218
214 <a href="receiver.html" class="btn btn-neutral float-right" title="receiver – Receiver" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a> 219 <a href="poller.html" class="btn btn-neutral float-right" title="poller – Poller" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
215 220
216 221
217 <a href="api.html" class="btn btn-neutral" title="API Documentation" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a> 222 <a href="exceptions.html" class="btn btn-neutral" title="exceptions – Exceptions" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
218 223
219 </div> 224 </div>
220 225
diff --git a/objects.inv b/objects.inv
index 3e7aa03..1f3d4b9 100644
--- a/objects.inv
+++ b/objects.inv
Binary files differ
diff --git a/poller.html b/poller.html
new file mode 100644
index 0000000..9384cd6
--- /dev/null
+++ b/poller.html
@@ -0,0 +1,284 @@
1
2
3<!DOCTYPE html>
4<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
5<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
6<head>
7 <meta charset="utf-8">
8
9 <meta name="viewport" content="width=device-width, initial-scale=1.0">
10
11 <title>poller – Poller &mdash; EventMQ 0 documentation</title>
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
28
29
30
31
32
33 <link rel="top" title="EventMQ 0 documentation" href="index.html"/>
34 <link rel="up" title="API Documentation" href="api.html"/>
35 <link rel="next" title="receiver – Receiver" href="receiver.html"/>
36 <link rel="prev" title="jobmanager – Job Manager" href="jobmanager.html"/>
37
38
39 <script src="_static/js/modernizr.min.js"></script>
40
41</head>
42
43<body class="wy-body-for-nav" role="document">
44
45 <div class="wy-grid-for-nav">
46
47
48 <nav data-toggle="wy-nav-shift" class="wy-nav-side">
49 <div class="wy-side-scroll">
50 <div class="wy-side-nav-search">
51
52
53
54 <a href="index.html" class="icon icon-home"> EventMQ
55
56
57
58 </a>
59
60
61
62
63 <div class="version">
64 0
65 </div>
66
67
68
69
70<div role="search">
71 <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
72 <input type="text" name="q" placeholder="Search docs" />
73 <input type="hidden" name="check_keywords" value="yes" />
74 <input type="hidden" name="area" value="default" />
75 </form>
76</div>
77
78
79 </div>
80
81 <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
82
83
84
85 <ul class="current">
86<li class="toctree-l1 current"><a class="reference internal" href="api.html">API Documentation</a><ul class="current">
87<li class="toctree-l2"><a class="reference internal" href="exceptions.html"><code class="docutils literal"><span class="pre">exceptions</span></code> &#8211; Exceptions</a></li>
88<li class="toctree-l2"><a class="reference internal" href="jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> &#8211; Job Manager</a></li>
89<li class="toctree-l2 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">poller</span></code> &#8211; Poller</a></li>
90<li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> &#8211; Receiver</a></li>
91<li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> &#8211; Router</a></li>
92<li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> &#8211; Sender</a></li>
93<li class="toctree-l2"><a class="reference internal" href="utils.html"><code class="docutils literal"><span class="pre">utils</span></code> &#8211; Utilities</a></li>
94</ul>
95</li>
96<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a></li>
97</ul>
98
99
100
101 </div>
102 </div>
103 </nav>
104
105 <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
106
107
108 <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
109 <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
110 <a href="index.html">EventMQ</a>
111 </nav>
112
113
114
115 <div class="wy-nav-content">
116 <div class="rst-content">
117
118
119
120
121
122
123<div role="navigation" aria-label="breadcrumbs navigation">
124 <ul class="wy-breadcrumbs">
125 <li><a href="index.html">Docs</a> &raquo;</li>
126
127 <li><a href="api.html">API Documentation</a> &raquo;</li>
128
129 <li><code class="docutils literal"><span class="pre">poller</span></code> &#8211; Poller</li>
130 <li class="wy-breadcrumbs-aside">
131
132
133 <a href="_sources/poller.txt" rel="nofollow"> View page source</a>
134
135
136 </li>
137 </ul>
138 <hr/>
139</div>
140 <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
141 <div itemprop="articleBody">
142
143 <span class="target" id="module-eventmq.poller"></span><div class="section" id="poller-poller">
144<h1><code class="xref py py-mod docutils literal"><span class="pre">poller</span></code> &#8211; Poller<a class="headerlink" href="#poller-poller" title="Permalink to this headline">¶</a></h1>
145<p>Device for polling sockets</p>
146<dl class="class">
147<dt id="eventmq.poller.Poller">
148<em class="property">class </em><code class="descclassname">eventmq.poller.</code><code class="descname">Poller</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.poller.Poller" title="Permalink to this definition">¶</a></dt>
149<dd><p><a class="reference external" href="http://pyzmq.readthedocs.org/en/v15.0.0/api/zmq.html#zmq.Poller" title="(in PyZMQ v15.0.0)"><code class="xref py py-class docutils literal"><span class="pre">zmq.Poller</span></code></a> based class.</p>
150<dl class="method">
151<dt id="eventmq.poller.Poller.__init__">
152<code class="descname">__init__</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.poller.Poller.__init__" title="Permalink to this definition">¶</a></dt>
153<dd><p>See <a class="reference external" href="http://pyzmq.readthedocs.org/en/v15.0.0/api/zmq.html#zmq.Poller" title="(in PyZMQ v15.0.0)"><code class="xref py py-class docutils literal"><span class="pre">zmq.Poller</span></code></a></p>
154</dd></dl>
155
156<dl class="method">
157<dt id="eventmq.poller.Poller.poll">
158<code class="descname">poll</code><span class="sig-paren">(</span><em>timeout=1</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.poller.Poller.poll" title="Permalink to this definition">¶</a></dt>
159<dd><p>Calling <a class="reference external" href="http://pyzmq.readthedocs.org/en/v15.0.0/api/zmq.html#zmq.Poller.poll" title="(in PyZMQ v15.0.0)"><code class="xref py py-meth docutils literal"><span class="pre">zmq.Poller.poll()</span></code></a> directly returns a tuple set. This
160method typecasts to a dictionary for convience using the socket object
161as the key. If a socket doesn&#8217;t appear in the returned dictionary then
162no events happened.</p>
163<table class="docutils field-list" frame="void" rules="none">
164<col class="field-name" />
165<col class="field-body" />
166<tbody valign="top">
167<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>timeout</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; How long should poller wait for before iterating
168the next loop.</td>
169</tr>
170</tbody>
171</table>
172<dl class="docutils">
173<dt>Returns (dict) Dictionary using the socket as the key and the event the</dt>
174<dd>socket generated as the value</dd>
175</dl>
176</dd></dl>
177
178<dl class="method">
179<dt id="eventmq.poller.Poller.register">
180<code class="descname">register</code><span class="sig-paren">(</span><em>socket</em>, <em>flag=0</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.poller.Poller.register" title="Permalink to this definition">¶</a></dt>
181<dd><p>Register a socket to be polled by this poller</p>
182<table class="docutils field-list" frame="void" rules="none">
183<col class="field-name" />
184<col class="field-body" />
185<tbody valign="top">
186<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
187<li><strong>socket</strong> (<a class="reference external" href="https://docs.python.org/library/socket.html#module-socket" title="(in Python v2.7)"><em>socket</em></a>) &#8211; The socket object to register</li>
188<li><strong>flags</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; <code class="xref py py-attr docutils literal"><span class="pre">POLLIN</span></code>, <code class="xref py py-attr docutils literal"><span class="pre">POLLOUT</span></code>, or
189<code class="xref py py-attr docutils literal"><span class="pre">POLLIN`|:attr:`POLLOUT</span></code> for both. If undefined the
190socket remains unregistered.</li>
191</ul>
192</td>
193</tr>
194</tbody>
195</table>
196</dd></dl>
197
198<dl class="method">
199<dt id="eventmq.poller.Poller.unregister">
200<code class="descname">unregister</code><span class="sig-paren">(</span><em>socket</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.poller.Poller.unregister" title="Permalink to this definition">¶</a></dt>
201<dd><p>Unregister a socket from being polled</p>
202<table class="docutils field-list" frame="void" rules="none">
203<col class="field-name" />
204<col class="field-body" />
205<tbody valign="top">
206<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>socket</strong> (<a class="reference external" href="https://docs.python.org/library/socket.html#module-socket" title="(in Python v2.7)"><em>socket</em></a>) &#8211; The socket object to registering</td>
207</tr>
208</tbody>
209</table>
210</dd></dl>
211
212</dd></dl>
213
214</div>
215
216
217 </div>
218 </div>
219 <footer>
220
221 <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
222
223 <a href="receiver.html" class="btn btn-neutral float-right" title="receiver – Receiver" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
224
225
226 <a href="jobmanager.html" class="btn btn-neutral" title="jobmanager – Job Manager" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
227
228 </div>
229
230
231 <hr/>
232
233 <div role="contentinfo">
234 <p>
235 &copy; Copyright 2015, eventboard.io.
236
237 </p>
238 </div>
239 Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
240
241</footer>
242
243 </div>
244 </div>
245
246 </section>
247
248 </div>
249
250
251
252
253
254 <script type="text/javascript">
255 var DOCUMENTATION_OPTIONS = {
256 URL_ROOT:'./',
257 VERSION:'0',
258 COLLAPSE_INDEX:false,
259 FILE_SUFFIX:'.html',
260 HAS_SOURCE: true
261 };
262 </script>
263 <script type="text/javascript" src="_static/jquery.js"></script>
264 <script type="text/javascript" src="_static/underscore.js"></script>
265 <script type="text/javascript" src="_static/doctools.js"></script>
266
267
268
269
270
271 <script type="text/javascript" src="_static/js/theme.js"></script>
272
273
274
275
276 <script type="text/javascript">
277 jQuery(function () {
278 SphinxRtdTheme.StickyNav.enable();
279 });
280 </script>
281
282
283</body>
284</html> \ No newline at end of file
diff --git a/protocol.html b/protocol.html
index ae55ced..9c0994b 100644
--- a/protocol.html
+++ b/protocol.html
@@ -91,6 +91,7 @@
91<li class="toctree-l3"><a class="reference internal" href="#architecture">Architecture</a><ul> 91<li class="toctree-l3"><a class="reference internal" href="#architecture">Architecture</a><ul>
92<li class="toctree-l4"><a class="reference internal" href="#topology">Topology</a></li> 92<li class="toctree-l4"><a class="reference internal" href="#topology">Topology</a></li>
93<li class="toctree-l4"><a class="reference internal" href="#router-addressing">ROUTER Addressing</a></li> 93<li class="toctree-l4"><a class="reference internal" href="#router-addressing">ROUTER Addressing</a></li>
94<li class="toctree-l4"><a class="reference internal" href="#global-frames">Global Frames</a></li>
94<li class="toctree-l4"><a class="reference internal" href="#emqp-client">eMQP / Client</a></li> 95<li class="toctree-l4"><a class="reference internal" href="#emqp-client">eMQP / Client</a></li>
95<li class="toctree-l4"><a class="reference internal" href="#emqp-worker">eMQP / Worker</a></li> 96<li class="toctree-l4"><a class="reference internal" href="#emqp-worker">eMQP / Worker</a></li>
96<li class="toctree-l4"><a class="reference internal" href="#heartbeating">Heartbeating</a></li> 97<li class="toctree-l4"><a class="reference internal" href="#heartbeating">Heartbeating</a></li>
@@ -190,6 +191,41 @@
190&gt; When receiving messages a ROUTER socket shall prepend a message part containing the identity of the originating peer to the message before passing it to the application. When sending messages a ROUTER socket shall remove the first part of the message and use it to determine the identity of the peer the message shall be routed to.</p> 191&gt; When receiving messages a ROUTER socket shall prepend a message part containing the identity of the originating peer to the message before passing it to the application. When sending messages a ROUTER socket shall remove the first part of the message and use it to determine the identity of the peer the message shall be routed to.</p>
191<p>This extra frame is not shown in the specifications below.</p> 192<p>This extra frame is not shown in the specifications below.</p>
192</div> 193</div>
194<div class="section" id="global-frames">
195<h3>Global Frames<a class="headerlink" href="#global-frames" title="Permalink to this headline">¶</a></h3>
196<p>An <strong>ACK</strong> command consists of a 4-frame multipart message, formatted as follows.</p>
197<table border="1" class="docutils">
198<colgroup>
199<col width="14%" />
200<col width="33%" />
201<col width="53%" />
202</colgroup>
203<thead valign="bottom">
204<tr class="row-odd"><th class="head">FRAME</th>
205<th class="head">Value</th>
206<th class="head">Description</th>
207</tr>
208</thead>
209<tbody valign="top">
210<tr class="row-even"><td>0</td>
211<td>_EMPTY_</td>
212<td>leave empty</td>
213</tr>
214<tr class="row-odd"><td>1</td>
215<td>eMQP/1.0</td>
216<td>Protocol version</td>
217</tr>
218<tr class="row-even"><td>2</td>
219<td>ACK</td>
220<td>command</td>
221</tr>
222<tr class="row-odd"><td>3</td>
223<td>_MSGID_</td>
224<td>A unique id for the msg</td>
225</tr>
226</tbody>
227</table>
228</div>
193<div class="section" id="emqp-client"> 229<div class="section" id="emqp-client">
194<h3>eMQP / Client<a class="headerlink" href="#emqp-client" title="Permalink to this headline">¶</a></h3> 230<h3>eMQP / Client<a class="headerlink" href="#emqp-client" title="Permalink to this headline">¶</a></h3>
195<p>A <strong>REQUEST</strong> command consists of a 7-frame multipart message, formatted as follows.</p> 231<p>A <strong>REQUEST</strong> command consists of a 7-frame multipart message, formatted as follows.</p>
diff --git a/py-modindex.html b/py-modindex.html
index 3442ec3..7b89220 100644
--- a/py-modindex.html
+++ b/py-modindex.html
@@ -157,6 +157,11 @@
157 <tr class="cg-1"> 157 <tr class="cg-1">
158 <td></td> 158 <td></td>
159 <td>&nbsp;&nbsp;&nbsp; 159 <td>&nbsp;&nbsp;&nbsp;
160 <a href="poller.html#module-eventmq.poller"><code class="xref">eventmq.poller</code></a></td><td>
161 <em></em></td></tr>
162 <tr class="cg-1">
163 <td></td>
164 <td>&nbsp;&nbsp;&nbsp;
160 <a href="receiver.html#module-eventmq.receiver"><code class="xref">eventmq.receiver</code></a></td><td> 165 <a href="receiver.html#module-eventmq.receiver"><code class="xref">eventmq.receiver</code></a></td><td>
161 <em></em></td></tr> 166 <em></em></td></tr>
162 <tr class="cg-1"> 167 <tr class="cg-1">
@@ -174,6 +179,16 @@
174 <td>&nbsp;&nbsp;&nbsp; 179 <td>&nbsp;&nbsp;&nbsp;
175 <a href="utils.html#module-eventmq.utils"><code class="xref">eventmq.utils</code></a></td><td> 180 <a href="utils.html#module-eventmq.utils"><code class="xref">eventmq.utils</code></a></td><td>
176 <em></em></td></tr> 181 <em></em></td></tr>
182 <tr class="cg-1">
183 <td></td>
184 <td>&nbsp;&nbsp;&nbsp;
185 <a href="utils/classes.html#module-eventmq.utils.classes"><code class="xref">eventmq.utils.classes</code></a></td><td>
186 <em></em></td></tr>
187 <tr class="cg-1">
188 <td></td>
189 <td>&nbsp;&nbsp;&nbsp;
190 <a href="utils/messages.html#module-eventmq.utils.messages"><code class="xref">eventmq.utils.messages</code></a></td><td>
191 <em></em></td></tr>
177 </table> 192 </table>
178 193
179 194
diff --git a/receiver.html b/receiver.html
index 48e0cb1..db2bf61 100644
--- a/receiver.html
+++ b/receiver.html
@@ -33,7 +33,7 @@
33 <link rel="top" title="EventMQ 0 documentation" href="index.html"/> 33 <link rel="top" title="EventMQ 0 documentation" href="index.html"/>
34 <link rel="up" title="API Documentation" href="api.html"/> 34 <link rel="up" title="API Documentation" href="api.html"/>
35 <link rel="next" title="router – Router" href="router.html"/> 35 <link rel="next" title="router – Router" href="router.html"/>
36 <link rel="prev" title="jobmanager – Job Manager" href="jobmanager.html"/> 36 <link rel="prev" title="poller – Poller" href="poller.html"/>
37 37
38 38
39 <script src="_static/js/modernizr.min.js"></script> 39 <script src="_static/js/modernizr.min.js"></script>
@@ -84,12 +84,13 @@
84 84
85 <ul class="current"> 85 <ul class="current">
86<li class="toctree-l1 current"><a class="reference internal" href="api.html">API Documentation</a><ul class="current"> 86<li class="toctree-l1 current"><a class="reference internal" href="api.html">API Documentation</a><ul class="current">
87<li class="toctree-l2"><a class="reference internal" href="exceptions.html"><code class="docutils literal"><span class="pre">exceptions</span></code> &#8211; Exceptions</a></li>
87<li class="toctree-l2"><a class="reference internal" href="jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> &#8211; Job Manager</a></li> 88<li class="toctree-l2"><a class="reference internal" href="jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> &#8211; Job Manager</a></li>
89<li class="toctree-l2"><a class="reference internal" href="poller.html"><code class="docutils literal"><span class="pre">poller</span></code> &#8211; Poller</a></li>
88<li class="toctree-l2 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">receiver</span></code> &#8211; Receiver</a></li> 90<li class="toctree-l2 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">receiver</span></code> &#8211; Receiver</a></li>
89<li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> &#8211; Router</a></li> 91<li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> &#8211; Router</a></li>
90<li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> &#8211; Sender</a></li> 92<li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> &#8211; Sender</a></li>
91<li class="toctree-l2"><a class="reference internal" href="utils.html"><code class="docutils literal"><span class="pre">utils</span></code> &#8211; Utilities</a></li> 93<li class="toctree-l2"><a class="reference internal" href="utils.html"><code class="docutils literal"><span class="pre">utils</span></code> &#8211; Utilities</a></li>
92<li class="toctree-l2"><a class="reference internal" href="exceptions.html"><code class="docutils literal"><span class="pre">exceptions</span></code> &#8211; Exceptions</a></li>
93</ul> 94</ul>
94</li> 95</li>
95<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a></li> 96<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a></li>
@@ -202,12 +203,6 @@ when a message is received</li>
202</table> 203</table>
203</dd></dl> 204</dd></dl>
204 205
205<dl class="attribute">
206<dt id="eventmq.receiver.Receiver.__weakref__">
207<code class="descname">__weakref__</code><a class="headerlink" href="#eventmq.receiver.Receiver.__weakref__" title="Permalink to this definition">¶</a></dt>
208<dd><p>list of weak references to the object (if defined)</p>
209</dd></dl>
210
211<dl class="method"> 206<dl class="method">
212<dt id="eventmq.receiver.Receiver.connect"> 207<dt id="eventmq.receiver.Receiver.connect">
213<code class="descname">connect</code><span class="sig-paren">(</span><em>addr=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.receiver.Receiver.connect" title="Permalink to this definition">¶</a></dt> 208<code class="descname">connect</code><span class="sig-paren">(</span><em>addr=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.receiver.Receiver.connect" title="Permalink to this definition">¶</a></dt>
@@ -271,7 +266,7 @@ False</td>
271 <a href="router.html" class="btn btn-neutral float-right" title="router – Router" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a> 266 <a href="router.html" class="btn btn-neutral float-right" title="router – Router" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
272 267
273 268
274 <a href="jobmanager.html" class="btn btn-neutral" title="jobmanager – Job Manager" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a> 269 <a href="poller.html" class="btn btn-neutral" title="poller – Poller" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
275 270
276 </div> 271 </div>
277 272
diff --git a/router.html b/router.html
index c785743..f1e18a5 100644
--- a/router.html
+++ b/router.html
@@ -84,12 +84,13 @@
84 84
85 <ul class="current"> 85 <ul class="current">
86<li class="toctree-l1 current"><a class="reference internal" href="api.html">API Documentation</a><ul class="current"> 86<li class="toctree-l1 current"><a class="reference internal" href="api.html">API Documentation</a><ul class="current">
87<li class="toctree-l2"><a class="reference internal" href="exceptions.html"><code class="docutils literal"><span class="pre">exceptions</span></code> &#8211; Exceptions</a></li>
87<li class="toctree-l2"><a class="reference internal" href="jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> &#8211; Job Manager</a></li> 88<li class="toctree-l2"><a class="reference internal" href="jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> &#8211; Job Manager</a></li>
89<li class="toctree-l2"><a class="reference internal" href="poller.html"><code class="docutils literal"><span class="pre">poller</span></code> &#8211; Poller</a></li>
88<li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> &#8211; Receiver</a></li> 90<li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> &#8211; Receiver</a></li>
89<li class="toctree-l2 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">router</span></code> &#8211; Router</a></li> 91<li class="toctree-l2 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">router</span></code> &#8211; Router</a></li>
90<li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> &#8211; Sender</a></li> 92<li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> &#8211; Sender</a></li>
91<li class="toctree-l2"><a class="reference internal" href="utils.html"><code class="docutils literal"><span class="pre">utils</span></code> &#8211; Utilities</a></li> 93<li class="toctree-l2"><a class="reference internal" href="utils.html"><code class="docutils literal"><span class="pre">utils</span></code> &#8211; Utilities</a></li>
92<li class="toctree-l2"><a class="reference internal" href="exceptions.html"><code class="docutils literal"><span class="pre">exceptions</span></code> &#8211; Exceptions</a></li>
93</ul> 94</ul>
94</li> 95</li>
95<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a></li> 96<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a></li>
@@ -155,8 +156,8 @@
155 156
156<dl class="method"> 157<dl class="method">
157<dt id="eventmq.router.Router.on_inform"> 158<dt id="eventmq.router.Router.on_inform">
158<code class="descname">on_inform</code><span class="sig-paren">(</span><em>sender</em>, <em>msg_id</em>, <em>msg</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.on_inform" title="Permalink to this definition">¶</a></dt> 159<code class="descname">on_inform</code><span class="sig-paren">(</span><em>sender</em>, <em>msgid</em>, <em>msg</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.on_inform" title="Permalink to this definition">¶</a></dt>
159<dd><p>Handles a new worker coming online</p> 160<dd><p>Handles an INFORM message. Usually when new worker coming online</p>
160</dd></dl> 161</dd></dl>
161 162
162<dl class="method"> 163<dl class="method">
@@ -180,6 +181,12 @@ warning is created.</p>
180</dd></dl> 181</dd></dl>
181 182
182<dl class="method"> 183<dl class="method">
184<dt id="eventmq.router.Router.send_ack">
185<code class="descname">send_ack</code><span class="sig-paren">(</span><em>socket</em>, <em>recipient</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.send_ack" title="Permalink to this definition">¶</a></dt>
186<dd><p>Sends an ACK response</p>
187</dd></dl>
188
189<dl class="method">
183<dt id="eventmq.router.Router.start"> 190<dt id="eventmq.router.Router.start">
184<code class="descname">start</code><span class="sig-paren">(</span><em>frontend_addr='tcp://127.0.0.1:47290'</em>, <em>backend_addr='tcp://127.0.0.1:47291'</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.start" title="Permalink to this definition">¶</a></dt> 191<code class="descname">start</code><span class="sig-paren">(</span><em>frontend_addr='tcp://127.0.0.1:47290'</em>, <em>backend_addr='tcp://127.0.0.1:47291'</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.start" title="Permalink to this definition">¶</a></dt>
185<dd><p>Begin listening for connections on the provided connection strings</p> 192<dd><p>Begin listening for connections on the provided connection strings</p>
diff --git a/searchindex.js b/searchindex.js
index 8bb01c3..4d4f738 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
Search.setIndex({envversion:46,filenames:["api","contributing","exceptions","index","jobmanager","protocol","receiver","router","sender","utils"],objects:{"eventmq.exceptions":{EventMQError:[2,5,1,""],InvalidMessageError:[2,5,1,""],MessageError:[2,5,1,""]},"eventmq.jobmanager":{JobManager:[4,3,1,""]},"eventmq.jobmanager.JobManager":{"__init__":[4,2,1,""],"__weakref__":[4,1,1,""],send_inform:[4,2,1,""],send_message:[4,2,1,""],start:[4,2,1,""]},"eventmq.receiver":{Receiver:[6,3,1,""]},"eventmq.receiver.Receiver":{"__init__":[6,2,1,""],"__weakref__":[6,1,1,""],connect:[6,2,1,""],listen:[6,2,1,""],name:[6,1,1,""],ready:[6,1,1,""],zcontext:[6,1,1,""],zsocket:[6,1,1,""]},"eventmq.router":{Router:[7,3,1,""]},"eventmq.router.Router":{"__weakref__":[7,1,1,""],on_inform:[7,2,1,""],on_receive_reply:[7,2,1,""],on_receive_request:[7,2,1,""],start:[7,2,1,""]},"eventmq.sender":{Sender:[8,3,1,""]},"eventmq.sender.Sender":{"__init__":[8,2,1,""],"__weakref__":[8,1,1,""],connect:[8,2,1,""],listen:[8,2,1,""],name:[8,1,1,""],ready:[8,1,1,""],recv:[8,2,1,""],recv_multipart:[8,2,1,""],send:[8,2,1,""],send_multipart:[8,2,1,""],zsocket:[8,1,1,""]},"eventmq.utils":{generate_msgid:[9,4,1,""],parse_message:[9,4,1,""]},eventmq:{exceptions:[2,0,0,"-"],jobmanager:[4,0,0,"-"],receiver:[6,0,0,"-"],router:[7,0,0,"-"],sender:[8,0,0,"-"],utils:[9,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","attribute","Python attribute"],"2":["py","method","Python method"],"3":["py","class","Python class"],"4":["py","function","Python function"],"5":["py","exception","Python exception"]},objtypes:{"0":"py:module","1":"py:attribute","2":"py:method","3":"py:class","4":"py:function","5":"py:exception"},terms:{"0mq":[5,8],"__init__":[4,6,8],"__weakref__":[4,6,7,8],"_empty_":5,"_headers_":5,"_issu":[],"_msg_":5,"_msgid_":5,"_queue_name_":5,"_sourc":[],"_topic_name_":5,"abstract":5,"case":5,"class":[4,6,7,8,9],"default":[4,5,6,8],"function":[6,7],"new":7,"public":5,"return":[4,6,8,9],"true":[5,6,8],"while":5,about:[4,5],accept:5,act:5,actual:4,addr:[4,6,8],address:[],after:5,agre:5,all:[2,4,5,6,8],allow:5,alpha:5,and_data:9,ani:5,api:[],applic:5,architectur:[],arg:[4,6,7,8],automat:8,avail:[6,8],back:5,backend_addr:7,base:2,basi:5,befor:5,begin:[4,7],belong:5,below:5,between:5,bool:[6,8],both:5,broker:5,build:8,built:5,bulid:6,call:[6,7],callabl:6,can:5,chang:5,check:[6,8],client:[],code:[1,3],com:[],come:7,comma:5,command:[4,5,9],complet:5,compon:5,connction:[6,8],connect:[4,5,6,7,8],consist:5,contain:[5,9],content:[],context:[6,8],convers:5,convienc:8,count:5,creat:[6,7,8,9],csv:5,current:[6,8],deal:9,dealer:8,debug:5,def:7,defeat:5,defin:[4,5,6,7,8],deliv:5,describ:5,descript:5,detail:5,detect:5,determin:5,dialog:5,dictionari:5,directli:8,disconnect:5,distribut:5,either:5,els:5,empti:5,emqp:[],encount:2,end:8,enderlab:[],ensur:[4,5],even:5,eventloop:[4,6,7,8],eventmqerror:2,except:8,execut:5,explicitli:8,expos:4,extra:5,fail:5,fair:5,fals:[5,6,8],field:5,finish:5,first:5,fit:5,follow:5,format:[5,9],found:7,foundat:5,frame:[4,5,8],free:5,from:[2,5,7],frontend_addr:7,gener:[4,5,6,8,9],generate_msgid:9,github:[],gnu:5,goal:[],good:8,guarante:5,guarente:[],hand:9,handl:[5,7],have:9,header:[],heartbeat:[],heavi:5,here:5,hope:5,html:5,http:5,ident:[5,8],ietf:5,implement:5,impli:5,includ:5,incom:4,index:3,inform:[4,5],inherit:2,insert:[5,8],instanc:4,interpret:5,interv:5,invalidmessageerror:2,isn:7,issu:[1,3,5],job:[],jobmanag:[],kei:5,kwarg:[4,6,7,8],languag:[],later:5,least:5,leav:5,let:5,licens:[],like:[8,9],list:[4,6,7,8],listen:[4,6,7,8],look:8,mai:[5,8],main:4,make:9,malform:2,manag:[],mani:5,manual:5,master:5,merchant:5,messag:[2,4,5,6,7,8,9],message_bodi:9,message_id:9,messageerror:2,method:[6,7],mode:6,modifi:5,modul:[3,9],more:[5,9],msg:[4,5,7],msg_id:7,multipart:[5,8],must:5,name:[4,5,6,7,8],none:[6,8],note:[4,6,8],object:[4,6,7,8],on_command:7,on_inform:7,on_receive_repli:7,on_receive_request:7,on_recv:6,onc:5,onli:[6,8],onlin:7,option:[4,5,6,8],org:5,orient:5,origin:5,other:5,otherwis:[4,6,8],page:3,param:4,paramet:[4,6,7,8,9],pars:9,parse_messag:9,part:[5,9],particular:[5,8],pass:[5,6,7],peer:5,pictur:5,poll:[6,8],pool:5,portion:4,practic:8,prefix:9,prepend:5,pretti:5,problem:2,process:5,properti:[6,8],protocol:[],protocol_vers:8,provid:7,pub:5,publish:5,purpos:5,queue:[5,7],rais:[2,4,6,8],raw:8,raw_messag:[],readi:[5,6,8],receiv:[],recent:5,reciev:6,recommend:5,recv:8,recv_multipart:8,redistribut:5,refer:[4,6,7,8],regular:5,reliabl:5,remov:5,rep:6,repli:5,req:8,request:[4,7],requir:[5,6],requri:5,resourc:[4,5],respond:5,respons:[4,6,8],restart:5,retri:5,rfc2119:5,rfc:5,robin:5,round:5,rout:[5,7],router:[],run:4,search:3,see:5,self:4,send:[4,5,8],send_inform:4,send_messag:4,send_multipart:8,send_raw:[],sender:[],sender_id:9,sent:[5,8],seper:5,serv:5,server:[4,5],servic:5,set:[5,6,8],shall:5,should:[2,5,6,8],shown:5,simpl:[7,9],singl:5,skip:[6,8],skip_zmqstream:[6,8],socket:[5,6,7,8],softwar:5,some:8,someon:5,someth:8,sourc:[1,3],spawn:4,specif:[],specifi:[5,8],start:[4,6,7,8],statu:5,stop:5,str:[4,6,7,8],string:[4,5,6,7,8],structur:2,sub:5,subclass:2,subject:5,subset:5,success:5,task:4,tcp:[4,7],term:5,them:6,thi:[2,4,5,6,7,8,9],thing:[4,9],through:5,time:5,tool:5,topic:[],topolog:[],tornado:[4,7],trace:5,tupl:[4,8,9],type:[5,6,8],typeerror:6,under:5,uniqu:[4,5,9],univers:9,unless:[4,6,8],unus:6,upon:5,uuid:[4,6,8],valid:5,valu:5,version:[5,8],via:[6,8],warn:7,warranti:5,weak:[4,6,7,8],web:5,well:5,when:[2,5,6,7,8],where:5,which:5,wish:9,without:5,word:5,worker:[],worri:5,wrap:[6,8],you:[5,8,9],your:[5,8],zcontext:[6,8],zeromq:5,zmq:[5,6,8],zmqstream:[6,8],zsocket:[6,8]},titles:["API Documentation","Contributing to EventMQ","<code class=\"docutils literal\"><span class=\"pre\">exceptions</span></code> &#8211; Exceptions","EventMQ Documentation","<code class=\"docutils literal\"><span class=\"pre\">jobmanager</span></code> &#8211; Job Manager","EventMQ Protocol Specification","<code class=\"docutils literal\"><span class=\"pre\">receiver</span></code> &#8211; Receiver","<code class=\"docutils literal\"><span class=\"pre\">router</span></code> &#8211; Router","<code class=\"docutils literal\"><span class=\"pre\">sender</span></code> &#8211; Sender","<code class=\"docutils literal\"><span class=\"pre\">utils</span></code> &#8211; Utilities"],titleterms:{address:5,api:0,architectur:5,client:5,contribut:1,document:[0,3],emqp:5,eventmq:[1,3,5],except:2,goal:5,header:5,heartbeat:5,indic:3,job:4,jobmanag:4,languag:5,licens:5,manag:4,protocol:5,receiv:6,request:5,router:[5,7],sender:8,specif:5,tabl:3,topolog:5,util:9,welcom:[],worker:5}}) \ No newline at end of file Search.setIndex({envversion:46,filenames:["api","contributing","exceptions","index","jobmanager","poller","protocol","receiver","router","sender","utils","utils/classes","utils/messages"],objects:{"eventmq.exceptions":{EventMQError:[2,5,1,""],InvalidMessageError:[2,5,1,""],MessageError:[2,5,1,""]},"eventmq.jobmanager":{JobManager:[4,4,1,""]},"eventmq.jobmanager.JobManager":{"__init__":[4,2,1,""],"__weakref__":[4,1,1,""],on_ack:[4,2,1,""],process_message:[4,2,1,""],send_inform:[4,2,1,""],start:[4,2,1,""]},"eventmq.poller":{Poller:[5,4,1,""]},"eventmq.poller.Poller":{"__init__":[5,2,1,""],poll:[5,2,1,""],register:[5,2,1,""],unregister:[5,2,1,""]},"eventmq.receiver":{Receiver:[7,4,1,""]},"eventmq.receiver.Receiver":{"__init__":[7,2,1,""],connect:[7,2,1,""],listen:[7,2,1,""],name:[7,1,1,""],ready:[7,1,1,""],zcontext:[7,1,1,""],zsocket:[7,1,1,""]},"eventmq.router":{Router:[8,4,1,""]},"eventmq.router.Router":{"__weakref__":[8,1,1,""],on_inform:[8,2,1,""],on_receive_reply:[8,2,1,""],on_receive_request:[8,2,1,""],send_ack:[8,2,1,""],start:[8,2,1,""]},"eventmq.sender":{Sender:[9,4,1,""]},"eventmq.sender.Sender":{"__init__":[9,2,1,""],connect:[9,2,1,""],listen:[9,2,1,""],name:[9,1,1,""],ready:[9,1,1,""],zcontext:[9,1,1,""],zsocket:[9,1,1,""]},"eventmq.utils":{classes:[11,0,0,"-"],messages:[12,0,0,"-"],random_characters:[10,3,1,""]},"eventmq.utils.classes":{ZMQReceiveMixin:[11,4,1,""],ZMQSendMixin:[11,4,1,""]},"eventmq.utils.classes.ZMQReceiveMixin":{"__weakref__":[11,1,1,""],recv:[11,2,1,""],recv_multipart:[11,2,1,""]},"eventmq.utils.classes.ZMQSendMixin":{"__weakref__":[11,1,1,""],send:[11,2,1,""],send_multipart:[11,2,1,""]},"eventmq.utils.messages":{generate_msgid:[12,3,1,""],parse_message:[12,3,1,""],parse_router_message:[12,3,1,""],send_emqp_message:[12,3,1,""],send_emqp_router_message:[12,3,1,""]},eventmq:{exceptions:[2,0,0,"-"],jobmanager:[4,0,0,"-"],poller:[5,0,0,"-"],receiver:[7,0,0,"-"],router:[8,0,0,"-"],sender:[9,0,0,"-"],utils:[10,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","attribute","Python attribute"],"2":["py","method","Python method"],"3":["py","function","Python function"],"4":["py","class","Python class"],"5":["py","exception","Python exception"]},objtypes:{"0":"py:module","1":"py:attribute","2":"py:method","3":"py:function","4":"py:class","5":"py:exception"},terms:{"0mq":[6,11],"__init__":[4,5,7,9],"__weakref__":[4,8,11],"_empty_":6,"_headers_":6,"_issu":[],"_msg_":6,"_msgid_":6,"_queue_name_":6,"_recipient_id":11,"_sourc":[],"_topic_name_":6,"abstract":6,"case":6,"class":[5,9],"default":[4,6,7,9],"function":[7,8],"import":1,"int":5,"long":5,"new":8,"public":6,"return":[1,5,7,9,10,12],"true":[6,7,9],"while":6,about:[4,6],absolut:1,accept:6,account:12,ack:[6,8],act:6,actual:4,addr:[4,7,9],address:[],after:6,agre:6,all:[2,4,6,7,9],allow:6,alpha:6,and_data:12,ani:6,api:[],appear:5,applic:6,architectur:[],arg:[4,5,7,8,9,12],attr:5,automat:11,avail:[7,9],awaiting_ack:4,back:6,backend_addr:8,base:[2,5],basi:6,befor:[5,6],begin:[4,8],belong:6,below:6,between:6,bool:[7,9],both:[5,6],broker:6,build:9,built:6,bulid:7,call:[5,7,8],callabl:7,can:[6,12],chang:6,charact:10,check:[7,9],client:[],code:[1,3],com:[],come:8,comma:6,command:[6,12],complet:6,compon:6,connction:[7,9],connect:[4,6,7,8,9,12],consist:6,contain:[6,10],content:[],context:[7,9],convers:6,convienc:[5,11],count:6,creat:[7,8,9,10],csv:6,current:[7,9],data:12,deal:10,dealer:9,debug:6,def:8,defeat:6,defin:[4,6,7,8,9,11],deliv:6,describ:6,descript:6,detail:6,detect:6,determin:6,devic:[5,11,12],dialog:6,dict:5,dictionari:[5,6],differ:1,directli:[5,11],disconnect:6,distribut:6,doesn:5,either:6,els:[1,6],empti:6,emqp:[],encount:2,end:11,enderlab:[],ensur:[4,6],even:6,event:5,eventloop:[4,7,8,9],eventmqerror:2,except:[],execut:6,explicitli:11,expos:4,extra:6,fail:6,fair:6,fals:[4,6,7,9],few:1,field:6,finish:6,first:6,fit:6,flag:5,follow:6,format:[6,12],found:8,foundat:6,frame:[],free:6,from:[2,5,6,8],frontend_addr:8,gener:[4,5,6,7,9,12],generate_msgid:12,github:[],gnu:6,goal:[],good:11,guarante:6,guarente:[],hand:10,handl:[6,8],happen:5,have:12,header:[],heartbeat:[],heavi:6,here:6,hope:6,how:5,html:6,http:6,ident:[6,11],ietf:6,implement:[6,11],impli:6,includ:6,incom:[],index:3,inform:[4,6,8],inherit:2,insert:[6,11],instal:1,instanc:4,interpret:6,interv:6,invalidmessageerror:2,isn:8,issu:[1,3,6],iter:5,job:[],jobmanag:[],kei:[5,6],kwarg:[4,5,7,8,9],languag:[],later:6,least:6,leav:6,length:10,let:6,licens:[],like:[10,11],list:[4,8,11],listen:[4,7,8,9],look:11,loop:5,mai:[6,11],main:4,make:10,malform:2,manag:[],mani:6,manual:6,master:6,merchant:6,messag:[2,6,9,11],message_bodi:12,message_id:12,messageerror:2,meta:12,method:[5,7,8,11],mode:7,modifi:6,modul:[3,10],more:[6,10],msg:[4,6,8,12],msg_id:[],msgid:[4,8],multipart:[6,11],must:[6,11],name:[4,6,7,8,9],next:5,none:[7,9,11,12],note:[4,7,9],object:[4,5,8,11],on_ack:4,on_command:8,on_inform:8,on_receive_repli:8,on_receive_request:8,on_recv:7,onc:6,onli:[7,9],onlin:8,option:[4,6,7,9,12],org:6,orient:6,origin:6,other:6,otherwis:[4,7,9],own:11,page:3,param:[],paramet:[4,5,7,8,9,11,12],pars:12,parse_messag:12,parse_router_messag:12,part:[6,12],particular:[6,9],pass:[6,7,8],peer:6,pictur:6,poll:[5,7,9],poller:[],pollin:5,pollout:5,pool:6,portion:4,possibl:1,practic:11,prefix:12,prepend:6,pretti:6,problem:2,process:[4,6],process_messag:4,prop:[],properti:[7,9],protocol:[],protocol_vers:11,provid:8,pub:6,publish:6,purpos:6,queue:[6,8],rais:[2,7,9,12],random:[10,12],random_charact:10,raw:11,raw_messag:[],readi:[6,7,9],receiv:[],recent:6,reciev:7,recip:[],recipi:[8,11,12],recipient_id:12,recommend:6,recv:11,recv_multipart:11,redistribut:6,refer:[4,8,11],regist:5,regular:6,rel:1,reliabl:6,remain:5,remov:6,rep:7,repli:[6,12],req:9,request:[],requir:[6,7],requri:6,resourc:[4,6],respond:6,respons:[4,7,8,9],restart:6,retri:6,rfc2119:6,rfc:6,robin:6,round:6,rout:[6,8],router:[],run:4,search:3,see:[5,6],self:[],send:[4,6,8,9,11,12],send_ack:8,send_emqp_messag:12,send_emqp_router_messag:12,send_inform:4,send_messag:[],send_multipart:11,send_raw:[],sender:[],sender_id:12,sent:[6,11],seper:6,serv:6,server:[4,6],servic:6,set:[4,5,6,7,9],shall:6,should:[2,5,6,7,9],shown:6,simpl:[8,10],singl:6,skip:[7,9,11],skip_zmqstream:[7,9],socket:[5,6,7,8,9,11,12],softwar:6,some:[10,11,12],someon:6,someth:11,somewher:1,sourc:[1,3],spawn:4,specif:[],specifi:[6,10,11],start:[4,7,8,9],statu:6,stop:6,str:[4,7,8,9,11,12],string:[4,6,7,8,9,12],structur:2,sub:6,subclass:2,subject:6,subset:6,success:6,system:1,take:12,task:4,tcp:[4,8],term:6,them:7,thi:[2,4,5,6,7,8,9,10,11],thing:[4,10,12],through:6,time:6,timeout:5,tip:1,tool:6,topic:[],topolog:[],tornado:[4,8],trace:6,tupl:[5,11,12],type:[6,7,9],typecast:5,typeerror:7,undefin:5,under:6,uniqu:[4,6],univers:[],unless:[4,7,9],unregist:5,unus:7,upon:6,usual:8,uuid:[4,7,9],valid:6,valu:[5,6,12],version:[1,6,11],via:[7,9],wait:5,warn:8,warranti:6,weak:[4,8,11],web:6,well:6,when:[1,2,6,7,8,9,11],where:6,which:6,wish:12,without:6,word:6,work:[1,11],worker:[],worri:6,wrap:[7,9],you:[1,6,11,12],your:[6,11],zcontext:[7,9],zeromq:6,zmq:[5,6,7,9,11,12],zmqreceivemixin:11,zmqsendmixin:11,zmqstream:[7,9],zsocket:[7,9]},titles:["API Documentation","Contributing to EventMQ","<code class=\"docutils literal\"><span class=\"pre\">exceptions</span></code> &#8211; Exceptions","EventMQ Documentation","<code class=\"docutils literal\"><span class=\"pre\">jobmanager</span></code> &#8211; Job Manager","<code class=\"docutils literal\"><span class=\"pre\">poller</span></code> &#8211; Poller","EventMQ Protocol Specification","<code class=\"docutils literal\"><span class=\"pre\">receiver</span></code> &#8211; Receiver","<code class=\"docutils literal\"><span class=\"pre\">router</span></code> &#8211; Router","<code class=\"docutils literal\"><span class=\"pre\">sender</span></code> &#8211; Sender","<code class=\"docutils literal\"><span class=\"pre\">utils</span></code> &#8211; Utilities","<code class=\"docutils literal\"><span class=\"pre\">classes</span></code> &#8211; Utility Classes","<code class=\"docutils literal\"><span class=\"pre\">messages</span></code> &#8211; Message Utilities"],titleterms:{"class":11,address:6,api:0,architectur:6,client:6,contribut:1,document:[0,3],emqp:6,eventmq:[1,3,6],except:2,frame:6,global:6,goal:6,header:6,heartbeat:6,indic:3,job:4,jobmanag:4,languag:6,licens:6,manag:4,messag:12,poller:5,protocol:6,receiv:7,request:6,router:[6,8],sender:9,specif:6,tabl:3,topolog:6,util:[10,11,12],welcom:[],worker:6}}) \ No newline at end of file
diff --git a/sender.html b/sender.html
index e14c38b..b7c967f 100644
--- a/sender.html
+++ b/sender.html
@@ -84,7 +84,9 @@
84 84
85 <ul class="current"> 85 <ul class="current">
86<li class="toctree-l1 current"><a class="reference internal" href="api.html">API Documentation</a><ul class="current"> 86<li class="toctree-l1 current"><a class="reference internal" href="api.html">API Documentation</a><ul class="current">
87<li class="toctree-l2"><a class="reference internal" href="exceptions.html"><code class="docutils literal"><span class="pre">exceptions</span></code> &#8211; Exceptions</a></li>
87<li class="toctree-l2"><a class="reference internal" href="jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> &#8211; Job Manager</a></li> 88<li class="toctree-l2"><a class="reference internal" href="jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> &#8211; Job Manager</a></li>
89<li class="toctree-l2"><a class="reference internal" href="poller.html"><code class="docutils literal"><span class="pre">poller</span></code> &#8211; Poller</a></li>
88<li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> &#8211; Receiver</a></li> 90<li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> &#8211; Receiver</a></li>
89<li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> &#8211; Router</a></li> 91<li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> &#8211; Router</a></li>
90<li class="toctree-l2 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">sender</span></code> &#8211; Sender</a></li> 92<li class="toctree-l2 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">sender</span></code> &#8211; Sender</a></li>
@@ -157,9 +159,9 @@
157</dd></dl> 159</dd></dl>
158 160
159<dl class="attribute"> 161<dl class="attribute">
160<dt> 162<dt id="eventmq.sender.Sender.zcontext">
161<code class="descname">zcontext (</code></dt> 163<code class="descname">zcontext</code><a class="headerlink" href="#eventmq.sender.Sender.zcontext" title="Permalink to this definition">¶</a></dt>
162<dd><p>class`zmq.Context`): socket context</p> 164<dd><p><a class="reference external" href="http://pyzmq.readthedocs.org/en/v15.0.0/api/zmq.html#zmq.Context" title="(in PyZMQ v15.0.0)"><code class="xref py py-class docutils literal"><span class="pre">zmq.Context</span></code></a> &#8211; socket context</p>
163</dd></dl> 165</dd></dl>
164 166
165<dl class="attribute"> 167<dl class="attribute">
@@ -196,12 +198,6 @@ socket</li>
196</table> 198</table>
197</dd></dl> 199</dd></dl>
198 200
199<dl class="attribute">
200<dt id="eventmq.sender.Sender.__weakref__">
201<code class="descname">__weakref__</code><a class="headerlink" href="#eventmq.sender.Sender.__weakref__" title="Permalink to this definition">¶</a></dt>
202<dd><p>list of weak references to the object (if defined)</p>
203</dd></dl>
204
205<dl class="method"> 201<dl class="method">
206<dt id="eventmq.sender.Sender.connect"> 202<dt id="eventmq.sender.Sender.connect">
207<code class="descname">connect</code><span class="sig-paren">(</span><em>addr=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.sender.Sender.connect" title="Permalink to this definition">¶</a></dt> 203<code class="descname">connect</code><span class="sig-paren">(</span><em>addr=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.sender.Sender.connect" title="Permalink to this definition">¶</a></dt>
@@ -251,60 +247,6 @@ False</td>
251</table> 247</table>
252</dd></dl> 248</dd></dl>
253 249
254<dl class="method">
255<dt id="eventmq.sender.Sender.recv">
256<code class="descname">recv</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.sender.Sender.recv" title="Permalink to this definition">¶</a></dt>
257<dd><p>Receive a message</p>
258</dd></dl>
259
260<dl class="method">
261<dt id="eventmq.sender.Sender.recv_multipart">
262<code class="descname">recv_multipart</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.sender.Sender.recv_multipart" title="Permalink to this definition">¶</a></dt>
263<dd><p>Receive a multipart message</p>
264</dd></dl>
265
266<dl class="method">
267<dt id="eventmq.sender.Sender.send">
268<code class="descname">send</code><span class="sig-paren">(</span><em>message</em>, <em>protocol_version</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.sender.Sender.send" title="Permalink to this definition">¶</a></dt>
269<dd><p>Sends a message</p>
270<table class="docutils field-list" frame="void" rules="none">
271<col class="field-name" />
272<col class="field-body" />
273<tbody valign="top">
274<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
275<li><strong>message</strong> &#8211; message to send to something</li>
276<li><strong>protocol_version</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; protocol version. it&#8217;s good practice, but
277you may explicitly specify None to skip adding the version</li>
278</ul>
279</td>
280</tr>
281</tbody>
282</table>
283</dd></dl>
284
285<dl class="method">
286<dt id="eventmq.sender.Sender.send_multipart">
287<code class="descname">send_multipart</code><span class="sig-paren">(</span><em>message</em>, <em>protocol_version</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.sender.Sender.send_multipart" title="Permalink to this definition">¶</a></dt>
288<dd><p>Send a message directly to the 0mq socket. Automatically inserts some
289frames for your convience. The sent frame ends up looking something
290like identity</p>
291<blockquote>
292<div>(this, &#8216;&#8217;, protocol_version) + (your, tuple)</div></blockquote>
293<table class="docutils field-list" frame="void" rules="none">
294<col class="field-name" />
295<col class="field-body" />
296<tbody valign="top">
297<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
298<li><strong>message</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#tuple" title="(in Python v2.7)"><em>tuple</em></a>) &#8211; Raw message to send.</li>
299<li><strong>protocol_version</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; protocol version. it&#8217;s good practice but
300you may explicitly specify None to skip adding the version</li>
301</ul>
302</td>
303</tr>
304</tbody>
305</table>
306</dd></dl>
307
308</dd></dl> 250</dd></dl>
309 251
310</div> 252</div>
diff --git a/utils.html b/utils.html
index 409f006..e112cab 100644
--- a/utils.html
+++ b/utils.html
@@ -32,7 +32,7 @@
32 32
33 <link rel="top" title="EventMQ 0 documentation" href="index.html"/> 33 <link rel="top" title="EventMQ 0 documentation" href="index.html"/>
34 <link rel="up" title="API Documentation" href="api.html"/> 34 <link rel="up" title="API Documentation" href="api.html"/>
35 <link rel="next" title="exceptions – Exceptions" href="exceptions.html"/> 35 <link rel="next" title="classes – Utility Classes" href="utils/classes.html"/>
36 <link rel="prev" title="sender – Sender" href="sender.html"/> 36 <link rel="prev" title="sender – Sender" href="sender.html"/>
37 37
38 38
@@ -84,12 +84,17 @@
84 84
85 <ul class="current"> 85 <ul class="current">
86<li class="toctree-l1 current"><a class="reference internal" href="api.html">API Documentation</a><ul class="current"> 86<li class="toctree-l1 current"><a class="reference internal" href="api.html">API Documentation</a><ul class="current">
87<li class="toctree-l2"><a class="reference internal" href="exceptions.html"><code class="docutils literal"><span class="pre">exceptions</span></code> &#8211; Exceptions</a></li>
87<li class="toctree-l2"><a class="reference internal" href="jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> &#8211; Job Manager</a></li> 88<li class="toctree-l2"><a class="reference internal" href="jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> &#8211; Job Manager</a></li>
89<li class="toctree-l2"><a class="reference internal" href="poller.html"><code class="docutils literal"><span class="pre">poller</span></code> &#8211; Poller</a></li>
88<li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> &#8211; Receiver</a></li> 90<li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> &#8211; Receiver</a></li>
89<li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> &#8211; Router</a></li> 91<li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> &#8211; Router</a></li>
90<li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> &#8211; Sender</a></li> 92<li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> &#8211; Sender</a></li>
91<li class="toctree-l2 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">utils</span></code> &#8211; Utilities</a></li> 93<li class="toctree-l2 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">utils</span></code> &#8211; Utilities</a><ul>
92<li class="toctree-l2"><a class="reference internal" href="exceptions.html"><code class="docutils literal"><span class="pre">exceptions</span></code> &#8211; Exceptions</a></li> 94<li class="toctree-l3"><a class="reference internal" href="utils/classes.html"><code class="docutils literal"><span class="pre">classes</span></code> &#8211; Utility Classes</a></li>
95<li class="toctree-l3"><a class="reference internal" href="utils/messages.html"><code class="docutils literal"><span class="pre">messages</span></code> &#8211; Message Utilities</a></li>
96</ul>
97</li>
93</ul> 98</ul>
94</li> 99</li>
95<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a></li> 100<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a></li>
@@ -143,26 +148,16 @@
143<h1><code class="xref py py-mod docutils literal"><span class="pre">utils</span></code> &#8211; Utilities<a class="headerlink" href="#utils-utilities" title="Permalink to this headline">¶</a></h1> 148<h1><code class="xref py py-mod docutils literal"><span class="pre">utils</span></code> &#8211; Utilities<a class="headerlink" href="#utils-utilities" title="Permalink to this headline">¶</a></h1>
144<p>This module contains a handful of utility classes to make dealing with things 149<p>This module contains a handful of utility classes to make dealing with things
145like creating message more simple.</p> 150like creating message more simple.</p>
151<div class="toctree-wrapper compound">
152<ul>
153<li class="toctree-l1"><a class="reference internal" href="utils/classes.html"><code class="docutils literal"><span class="pre">classes</span></code> &#8211; Utility Classes</a></li>
154<li class="toctree-l1"><a class="reference internal" href="utils/messages.html"><code class="docutils literal"><span class="pre">messages</span></code> &#8211; Message Utilities</a></li>
155</ul>
156</div>
146<dl class="function"> 157<dl class="function">
147<dt id="eventmq.utils.generate_msgid"> 158<dt id="eventmq.utils.random_characters">
148<code class="descclassname">eventmq.utils.</code><code class="descname">generate_msgid</code><span class="sig-paren">(</span><em>prefix=''</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.generate_msgid" title="Permalink to this definition">¶</a></dt> 159<code class="descclassname">eventmq.utils.</code><code class="descname">random_characters</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.random_characters" title="Permalink to this definition">¶</a></dt>
149<dd><p>Returns a (universally) unique id to be used for messages</p> 160<dd><p>Returns some random characters of a specified length</p>
150</dd></dl>
151
152<dl class="function">
153<dt id="eventmq.utils.parse_message">
154<code class="descclassname">eventmq.utils.</code><code class="descname">parse_message</code><span class="sig-paren">(</span><em>message</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.parse_message" title="Permalink to this definition">¶</a></dt>
155<dd><p>Parses the generic format of an eMQP/1.0 message and returns the
156parts.</p>
157<table class="docutils field-list" frame="void" rules="none">
158<col class="field-name" />
159<col class="field-body" />
160<tbody valign="top">
161<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>message</strong> &#8211; the message you wish to have parsed</td>
162</tr>
163</tbody>
164</table>
165<p>Returns (tuple) (sender_id, command, message_id, (message_body, and_data))</p>
166</dd></dl> 161</dd></dl>
167 162
168</div> 163</div>
@@ -174,7 +169,7 @@ parts.</p>
174 169
175 <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> 170 <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
176 171
177 <a href="exceptions.html" class="btn btn-neutral float-right" title="exceptions – Exceptions" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a> 172 <a href="utils/classes.html" class="btn btn-neutral float-right" title="classes – Utility Classes" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
178 173
179 174
180 <a href="sender.html" class="btn btn-neutral" title="sender – Sender" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a> 175 <a href="sender.html" class="btn btn-neutral" title="sender – Sender" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
diff --git a/utils/classes.html b/utils/classes.html
new file mode 100644
index 0000000..59b9512
--- /dev/null
+++ b/utils/classes.html
@@ -0,0 +1,304 @@
1
2
3<!DOCTYPE html>
4<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
5<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
6<head>
7 <meta charset="utf-8">
8
9 <meta name="viewport" content="width=device-width, initial-scale=1.0">
10
11 <title>classes – Utility Classes &mdash; EventMQ 0 documentation</title>
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
28
29
30
31
32
33 <link rel="top" title="EventMQ 0 documentation" href="../index.html"/>
34 <link rel="up" title="utils – Utilities" href="../utils.html"/>
35 <link rel="next" title="utils.messages – Message Utilities" href="messages.html"/>
36 <link rel="prev" title="utils – Utilities" href="../utils.html"/>
37
38
39 <script src="../_static/js/modernizr.min.js"></script>
40
41</head>
42
43<body class="wy-body-for-nav" role="document">
44
45 <div class="wy-grid-for-nav">
46
47
48 <nav data-toggle="wy-nav-shift" class="wy-nav-side">
49 <div class="wy-side-scroll">
50 <div class="wy-side-nav-search">
51
52
53
54 <a href="../index.html" class="icon icon-home"> EventMQ
55
56
57
58 </a>
59
60
61
62
63 <div class="version">
64 0
65 </div>
66
67
68
69
70<div role="search">
71 <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
72 <input type="text" name="q" placeholder="Search docs" />
73 <input type="hidden" name="check_keywords" value="yes" />
74 <input type="hidden" name="area" value="default" />
75 </form>
76</div>
77
78
79 </div>
80
81 <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
82
83
84
85 <ul class="current">
86<li class="toctree-l1 current"><a class="reference internal" href="../api.html">API Documentation</a><ul class="current">
87<li class="toctree-l2"><a class="reference internal" href="../exceptions.html"><code class="docutils literal"><span class="pre">exceptions</span></code> &#8211; Exceptions</a></li>
88<li class="toctree-l2"><a class="reference internal" href="../jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> &#8211; Job Manager</a></li>
89<li class="toctree-l2"><a class="reference internal" href="../poller.html"><code class="docutils literal"><span class="pre">poller</span></code> &#8211; Poller</a></li>
90<li class="toctree-l2"><a class="reference internal" href="../receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> &#8211; Receiver</a></li>
91<li class="toctree-l2"><a class="reference internal" href="../router.html"><code class="docutils literal"><span class="pre">router</span></code> &#8211; Router</a></li>
92<li class="toctree-l2"><a class="reference internal" href="../sender.html"><code class="docutils literal"><span class="pre">sender</span></code> &#8211; Sender</a></li>
93<li class="toctree-l2 current"><a class="reference internal" href="../utils.html"><code class="docutils literal"><span class="pre">utils</span></code> &#8211; Utilities</a><ul class="current">
94<li class="toctree-l3 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">classes</span></code> &#8211; Utility Classes</a></li>
95<li class="toctree-l3"><a class="reference internal" href="messages.html"><code class="docutils literal"><span class="pre">utils.messages</span></code> &#8211; Message Utilities</a></li>
96</ul>
97</li>
98</ul>
99</li>
100<li class="toctree-l1"><a class="reference internal" href="../contributing.html">Contributing to EventMQ</a></li>
101</ul>
102
103
104
105 </div>
106 </div>
107 </nav>
108
109 <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
110
111
112 <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
113 <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
114 <a href="../index.html">EventMQ</a>
115 </nav>
116
117
118
119 <div class="wy-nav-content">
120 <div class="rst-content">
121
122
123
124
125
126
127<div role="navigation" aria-label="breadcrumbs navigation">
128 <ul class="wy-breadcrumbs">
129 <li><a href="../index.html">Docs</a> &raquo;</li>
130
131 <li><a href="../api.html">API Documentation</a> &raquo;</li>
132
133 <li><a href="../utils.html"><code class="docutils literal"><span class="pre">utils</span></code> &#8211; Utilities</a> &raquo;</li>
134
135 <li><code class="docutils literal"><span class="pre">classes</span></code> &#8211; Utility Classes</li>
136 <li class="wy-breadcrumbs-aside">
137
138
139 <a href="../_sources/utils/classes.txt" rel="nofollow"> View page source</a>
140
141
142 </li>
143 </ul>
144 <hr/>
145</div>
146 <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
147 <div itemprop="articleBody">
148
149 <span class="target" id="module-eventmq.utils.classes"></span><div class="section" id="classes-utility-classes">
150<h1><code class="xref py py-mod docutils literal"><span class="pre">classes</span></code> &#8211; Utility Classes<a class="headerlink" href="#classes-utility-classes" title="Permalink to this headline">¶</a></h1>
151<p>Defines some classes to use when implementing ZMQ devices</p>
152<dl class="class">
153<dt id="eventmq.utils.classes.ZMQReceiveMixin">
154<em class="property">class </em><code class="descclassname">eventmq.utils.classes.</code><code class="descname">ZMQReceiveMixin</code><a class="headerlink" href="#eventmq.utils.classes.ZMQReceiveMixin" title="Permalink to this definition">¶</a></dt>
155<dd><p>Defines some methods for receiving messages. This class will not work if
156used on it&#8217;s own</p>
157<dl class="attribute">
158<dt id="eventmq.utils.classes.ZMQReceiveMixin.__weakref__">
159<code class="descname">__weakref__</code><a class="headerlink" href="#eventmq.utils.classes.ZMQReceiveMixin.__weakref__" title="Permalink to this definition">¶</a></dt>
160<dd><p>list of weak references to the object (if defined)</p>
161</dd></dl>
162
163<dl class="method">
164<dt id="eventmq.utils.classes.ZMQReceiveMixin.recv">
165<code class="descname">recv</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.ZMQReceiveMixin.recv" title="Permalink to this definition">¶</a></dt>
166<dd><p>Receive a message</p>
167</dd></dl>
168
169<dl class="method">
170<dt id="eventmq.utils.classes.ZMQReceiveMixin.recv_multipart">
171<code class="descname">recv_multipart</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.ZMQReceiveMixin.recv_multipart" title="Permalink to this definition">¶</a></dt>
172<dd><p>Receive a multipart message</p>
173</dd></dl>
174
175</dd></dl>
176
177<dl class="class">
178<dt id="eventmq.utils.classes.ZMQSendMixin">
179<em class="property">class </em><code class="descclassname">eventmq.utils.classes.</code><code class="descname">ZMQSendMixin</code><a class="headerlink" href="#eventmq.utils.classes.ZMQSendMixin" title="Permalink to this definition">¶</a></dt>
180<dd><p>Defines some methods for sending messages. This class will not work if used
181on it&#8217;s own</p>
182<dl class="attribute">
183<dt id="eventmq.utils.classes.ZMQSendMixin.__weakref__">
184<code class="descname">__weakref__</code><a class="headerlink" href="#eventmq.utils.classes.ZMQSendMixin.__weakref__" title="Permalink to this definition">¶</a></dt>
185<dd><p>list of weak references to the object (if defined)</p>
186</dd></dl>
187
188<dl class="method">
189<dt id="eventmq.utils.classes.ZMQSendMixin.send">
190<code class="descname">send</code><span class="sig-paren">(</span><em>message</em>, <em>protocol_version</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.ZMQSendMixin.send" title="Permalink to this definition">¶</a></dt>
191<dd><p>Sends a message</p>
192<table class="docutils field-list" frame="void" rules="none">
193<col class="field-name" />
194<col class="field-body" />
195<tbody valign="top">
196<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
197<li><strong>message</strong> &#8211; message to send to something</li>
198<li><strong>protocol_version</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; protocol version. it&#8217;s good practice, but
199you may explicitly specify None to skip adding the version</li>
200</ul>
201</td>
202</tr>
203</tbody>
204</table>
205</dd></dl>
206
207<dl class="method">
208<dt id="eventmq.utils.classes.ZMQSendMixin.send_multipart">
209<code class="descname">send_multipart</code><span class="sig-paren">(</span><em>message</em>, <em>protocol_version</em>, <em>_recipient_id=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.ZMQSendMixin.send_multipart" title="Permalink to this definition">¶</a></dt>
210<dd><p>Send a message directly to the 0mq socket. Automatically inserts some
211frames for your convience. The sent frame ends up looking something
212like identity</p>
213<blockquote>
214<div>(this, &#8216;&#8217;, protocol_version) + (your, tuple)</div></blockquote>
215<table class="docutils field-list" frame="void" rules="none">
216<col class="field-name" />
217<col class="field-body" />
218<tbody valign="top">
219<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
220<li><strong>message</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#tuple" title="(in Python v2.7)"><em>tuple</em></a>) &#8211; Raw message to send.</li>
221<li><strong>protocol_version</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; protocol version. it&#8217;s good practice but
222you may explicitly specify None to skip adding the version</li>
223<li><strong>_recipient_id</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#object" title="(in Python v2.7)"><em>object</em></a>) &#8211; When using a <code class="xref py py-attr docutils literal"><span class="pre">zmq.ROUTER</span></code> you must
224specify the the recipient id of the</li>
225</ul>
226</td>
227</tr>
228</tbody>
229</table>
230</dd></dl>
231
232</dd></dl>
233
234</div>
235
236
237 </div>
238 </div>
239 <footer>
240
241 <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
242
243 <a href="messages.html" class="btn btn-neutral float-right" title="utils.messages – Message Utilities" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
244
245
246 <a href="../utils.html" class="btn btn-neutral" title="utils – Utilities" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
247
248 </div>
249
250
251 <hr/>
252
253 <div role="contentinfo">
254 <p>
255 &copy; Copyright 2015, eventboard.io.
256
257 </p>
258 </div>
259 Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
260
261</footer>
262
263 </div>
264 </div>
265
266 </section>
267
268 </div>
269
270
271
272
273
274 <script type="text/javascript">
275 var DOCUMENTATION_OPTIONS = {
276 URL_ROOT:'../',
277 VERSION:'0',
278 COLLAPSE_INDEX:false,
279 FILE_SUFFIX:'.html',
280 HAS_SOURCE: true
281 };
282 </script>
283 <script type="text/javascript" src="../_static/jquery.js"></script>
284 <script type="text/javascript" src="../_static/underscore.js"></script>
285 <script type="text/javascript" src="../_static/doctools.js"></script>
286
287
288
289
290
291 <script type="text/javascript" src="../_static/js/theme.js"></script>
292
293
294
295
296 <script type="text/javascript">
297 jQuery(function () {
298 SphinxRtdTheme.StickyNav.enable();
299 });
300 </script>
301
302
303</body>
304</html> \ No newline at end of file
diff --git a/utils/messages.html b/utils/messages.html
new file mode 100644
index 0000000..c0d4e60
--- /dev/null
+++ b/utils/messages.html
@@ -0,0 +1,301 @@
1
2
3<!DOCTYPE html>
4<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
5<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
6<head>
7 <meta charset="utf-8">
8
9 <meta name="viewport" content="width=device-width, initial-scale=1.0">
10
11 <title>messages – Message Utilities &mdash; EventMQ 0 documentation</title>
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
28
29
30
31
32
33 <link rel="top" title="EventMQ 0 documentation" href="../index.html"/>
34 <link rel="up" title="utils – Utilities" href="../utils.html"/>
35 <link rel="next" title="Contributing to EventMQ" href="../contributing.html"/>
36 <link rel="prev" title="classes – Utility Classes" href="classes.html"/>
37
38
39 <script src="../_static/js/modernizr.min.js"></script>
40
41</head>
42
43<body class="wy-body-for-nav" role="document">
44
45 <div class="wy-grid-for-nav">
46
47
48 <nav data-toggle="wy-nav-shift" class="wy-nav-side">
49 <div class="wy-side-scroll">
50 <div class="wy-side-nav-search">
51
52
53
54 <a href="../index.html" class="icon icon-home"> EventMQ
55
56
57
58 </a>
59
60
61
62
63 <div class="version">
64 0
65 </div>
66
67
68
69
70<div role="search">
71 <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
72 <input type="text" name="q" placeholder="Search docs" />
73 <input type="hidden" name="check_keywords" value="yes" />
74 <input type="hidden" name="area" value="default" />
75 </form>
76</div>
77
78
79 </div>
80
81 <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
82
83
84
85 <ul class="current">
86<li class="toctree-l1 current"><a class="reference internal" href="../api.html">API Documentation</a><ul class="current">
87<li class="toctree-l2"><a class="reference internal" href="../exceptions.html"><code class="docutils literal"><span class="pre">exceptions</span></code> &#8211; Exceptions</a></li>
88<li class="toctree-l2"><a class="reference internal" href="../jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> &#8211; Job Manager</a></li>
89<li class="toctree-l2"><a class="reference internal" href="../poller.html"><code class="docutils literal"><span class="pre">poller</span></code> &#8211; Poller</a></li>
90<li class="toctree-l2"><a class="reference internal" href="../receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> &#8211; Receiver</a></li>
91<li class="toctree-l2"><a class="reference internal" href="../router.html"><code class="docutils literal"><span class="pre">router</span></code> &#8211; Router</a></li>
92<li class="toctree-l2"><a class="reference internal" href="../sender.html"><code class="docutils literal"><span class="pre">sender</span></code> &#8211; Sender</a></li>
93<li class="toctree-l2 current"><a class="reference internal" href="../utils.html"><code class="docutils literal"><span class="pre">utils</span></code> &#8211; Utilities</a><ul class="current">
94<li class="toctree-l3"><a class="reference internal" href="classes.html"><code class="docutils literal"><span class="pre">classes</span></code> &#8211; Utility Classes</a></li>
95<li class="toctree-l3 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">messages</span></code> &#8211; Message Utilities</a></li>
96</ul>
97</li>
98</ul>
99</li>
100<li class="toctree-l1"><a class="reference internal" href="../contributing.html">Contributing to EventMQ</a></li>
101</ul>
102
103
104
105 </div>
106 </div>
107 </nav>
108
109 <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
110
111
112 <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
113 <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
114 <a href="../index.html">EventMQ</a>
115 </nav>
116
117
118
119 <div class="wy-nav-content">
120 <div class="rst-content">
121
122
123
124
125
126
127<div role="navigation" aria-label="breadcrumbs navigation">
128 <ul class="wy-breadcrumbs">
129 <li><a href="../index.html">Docs</a> &raquo;</li>
130
131 <li><a href="../api.html">API Documentation</a> &raquo;</li>
132
133 <li><a href="../utils.html"><code class="docutils literal"><span class="pre">utils</span></code> &#8211; Utilities</a> &raquo;</li>
134
135 <li><code class="docutils literal"><span class="pre">messages</span></code> &#8211; Message Utilities</li>
136 <li class="wy-breadcrumbs-aside">
137
138
139 <a href="../_sources/utils/messages.txt" rel="nofollow"> View page source</a>
140
141
142 </li>
143 </ul>
144 <hr/>
145</div>
146 <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
147 <div itemprop="articleBody">
148
149 <span class="target" id="module-eventmq.utils.messages"></span><div class="section" id="messages-message-utilities">
150<h1><code class="xref py py-mod docutils literal"><span class="pre">messages</span></code> &#8211; Message Utilities<a class="headerlink" href="#messages-message-utilities" title="Permalink to this headline">¶</a></h1>
151<dl class="function">
152<dt id="eventmq.utils.messages.generate_msgid">
153<code class="descclassname">eventmq.utils.messages.</code><code class="descname">generate_msgid</code><span class="sig-paren">(</span><em>prefix=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.messages.generate_msgid" title="Permalink to this definition">¶</a></dt>
154<dd><p>Returns a random string to be used for message ids. Optionally the ID can
155be prefixed with <cite>prefix</cite>.</p>
156<table class="docutils field-list" frame="void" rules="none">
157<col class="field-name" />
158<col class="field-body" />
159<tbody valign="top">
160<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>prefix</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Value to prefix on to the random part of the id. Useful
161for prefixing some meta data to use for things</td>
162</tr>
163</tbody>
164</table>
165</dd></dl>
166
167<dl class="function">
168<dt id="eventmq.utils.messages.parse_message">
169<code class="descclassname">eventmq.utils.messages.</code><code class="descname">parse_message</code><span class="sig-paren">(</span><em>message</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.messages.parse_message" title="Permalink to this definition">¶</a></dt>
170<dd><p>Parses the generic format of an eMQP/1.0 message and returns the
171parts.</p>
172<table class="docutils field-list" frame="void" rules="none">
173<col class="field-name" />
174<col class="field-body" />
175<tbody valign="top">
176<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>message</strong> &#8211; the message you wish to have parsed</td>
177</tr>
178</tbody>
179</table>
180<p>Returns (tuple) (command, message_id, (message_body, and_data))</p>
181</dd></dl>
182
183<dl class="function">
184<dt id="eventmq.utils.messages.parse_router_message">
185<code class="descclassname">eventmq.utils.messages.</code><code class="descname">parse_router_message</code><span class="sig-paren">(</span><em>message</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.messages.parse_router_message" title="Permalink to this definition">¶</a></dt>
186<dd><p>Parses the generic format of an eMQP/1.0 message and returns the
187parts.</p>
188<table class="docutils field-list" frame="void" rules="none">
189<col class="field-name" />
190<col class="field-body" />
191<tbody valign="top">
192<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>message</strong> &#8211; the message you wish to have parsed</td>
193</tr>
194</tbody>
195</table>
196<p>Returns (tuple) (sender_id, command, message_id, (message_body, and_data))</p>
197</dd></dl>
198
199<dl class="function">
200<dt id="eventmq.utils.messages.send_emqp_message">
201<code class="descclassname">eventmq.utils.messages.</code><code class="descname">send_emqp_message</code><span class="sig-paren">(</span><em>socket</em>, <em>command</em>, <em>message=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.messages.send_emqp_message" title="Permalink to this definition">¶</a></dt>
202<dd><p>Formats and sends an eMQP message</p>
203<p>Args:</p>
204<p>Raises:</p>
205<p>Returns</p>
206</dd></dl>
207
208<dl class="function">
209<dt id="eventmq.utils.messages.send_emqp_router_message">
210<code class="descclassname">eventmq.utils.messages.</code><code class="descname">send_emqp_router_message</code><span class="sig-paren">(</span><em>socket</em>, <em>recipient_id</em>, <em>command</em>, <em>message=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.messages.send_emqp_router_message" title="Permalink to this definition">¶</a></dt>
211<dd><p>Formats and sends an eMQP message taking into account the recipient frame
212used by a <code class="xref py py-attr docutils literal"><span class="pre">zmq.ROUTER</span></code> device.</p>
213<table class="docutils field-list" frame="void" rules="none">
214<col class="field-name" />
215<col class="field-body" />
216<tbody valign="top">
217<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
218<li><strong>socket</strong> &#8211; socket to send the message with</li>
219<li><strong>recipient_id</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; the id of the connected device to reply to</li>
220<li><strong>command</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; the eMQP command to send</li>
221<li><strong>message</strong> &#8211; a msg tuple to send</li>
222</ul>
223</td>
224</tr>
225</tbody>
226</table>
227<p>Raises:</p>
228<p>Returns</p>
229</dd></dl>
230
231</div>
232
233
234 </div>
235 </div>
236 <footer>
237
238 <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
239
240 <a href="../contributing.html" class="btn btn-neutral float-right" title="Contributing to EventMQ" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
241
242
243 <a href="classes.html" class="btn btn-neutral" title="classes – Utility Classes" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
244
245 </div>
246
247
248 <hr/>
249
250 <div role="contentinfo">
251 <p>
252 &copy; Copyright 2015, eventboard.io.
253
254 </p>
255 </div>
256 Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
257
258</footer>
259
260 </div>
261 </div>
262
263 </section>
264
265 </div>
266
267
268
269
270
271 <script type="text/javascript">
272 var DOCUMENTATION_OPTIONS = {
273 URL_ROOT:'../',
274 VERSION:'0',
275 COLLAPSE_INDEX:false,
276 FILE_SUFFIX:'.html',
277 HAS_SOURCE: true
278 };
279 </script>
280 <script type="text/javascript" src="../_static/jquery.js"></script>
281 <script type="text/javascript" src="../_static/underscore.js"></script>
282 <script type="text/javascript" src="../_static/doctools.js"></script>
283
284
285
286
287
288 <script type="text/javascript" src="../_static/js/theme.js"></script>
289
290
291
292
293 <script type="text/javascript">
294 jQuery(function () {
295 SphinxRtdTheme.StickyNav.enable();
296 });
297 </script>
298
299
300</body>
301</html> \ No newline at end of file