Browse files

Various cleanups

* Separate print/web prefaces
* Full list of contributors is too verbose for print
* Renamed and simplified toolchain
* Moved zap-pow image to start of text
  • Loading branch information...
1 parent 65a5eb1 commit e7b400a66ed5c8c58d61aa0c2e65caaa418307f8 @hintjens hintjens committed Dec 16, 2012
Showing with 868 additions and 3,669 deletions.
  1. +11 −10 .bookmarks
  2. +0 −10 .cache_hx
  3. +0 −10 .cache_lua
  4. +0 −1 .cache_main
  5. +0 −10 .cache_page
  6. +0 −10 .cache_php
  7. +0 −10 .cache_py
  8. +184 −184 .signatures
  9. +1 −1 README.md
  10. +1 −1 README.txt
  11. +10 −0 bin/INSTALL
  12. +1 −1 bin/buildguide
  13. +1 −1 bin/buildpdfs
  14. +34 −241 bin/mkdocbook
  15. +24 −248 bin/mkwikidot
  16. +0 −221 bin/sflcvdp.pl
  17. +0 −875 bin/sfldate.pl
  18. +14 −35 chapter1.txt
  19. +14 −14 chapter2.txt
  20. +21 −21 chapter3.txt
  21. +10 −10 chapter4.txt
  22. +10 −10 chapter5.txt
  23. +6 −6 chapter7.txt
  24. +4 −4 chapter8.txt
  25. +15 −15 examples/C/hwclient.c
  26. BIN images/README_1.png
  27. +82 −115 images/fig1.eps
  28. +16 −19 images/fig1.html
  29. BIN images/fig1.png
  30. +16 −19 images/fig1.txt
  31. +2 −2 images/fig10.eps
  32. BIN images/fig10.png
  33. +2 −2 images/fig11.eps
  34. BIN images/fig11.png
  35. +2 −2 images/fig12.eps
  36. BIN images/fig12.png
  37. +2 −2 images/fig13.eps
  38. BIN images/fig13.png
  39. +2 −2 images/fig14.eps
  40. BIN images/fig14.png
  41. +2 −2 images/fig15.eps
  42. BIN images/fig15.png
  43. +2 −2 images/fig16.eps
  44. BIN images/fig16.png
  45. +2 −2 images/fig17.eps
  46. BIN images/fig17.png
  47. +2 −2 images/fig18.eps
  48. BIN images/fig18.png
  49. +2 −2 images/fig19.eps
  50. BIN images/fig19.png
  51. +116 −83 images/fig2.eps
  52. +19 −16 images/fig2.html
  53. BIN images/fig2.png
  54. +19 −16 images/fig2.txt
  55. +2 −2 images/fig20.eps
  56. BIN images/fig20.png
  57. +2 −2 images/fig21.eps
  58. BIN images/fig21.png
  59. +2 −2 images/fig22.eps
  60. BIN images/fig22.png
  61. +2 −2 images/fig23.eps
  62. BIN images/fig23.png
  63. +2 −2 images/fig24.eps
  64. BIN images/fig24.png
  65. +2 −2 images/fig25.eps
  66. BIN images/fig25.png
  67. +2 −2 images/fig26.eps
  68. BIN images/fig26.png
  69. +2 −2 images/fig27.eps
  70. BIN images/fig27.png
  71. +2 −2 images/fig28.eps
  72. BIN images/fig28.png
  73. +2 −2 images/fig29.eps
  74. BIN images/fig29.png
  75. +2 −2 images/fig3.eps
  76. BIN images/fig3.png
  77. +2 −2 images/fig30.eps
  78. BIN images/fig30.png
  79. +2 −2 images/fig31.eps
  80. BIN images/fig31.png
  81. +2 −2 images/fig32.eps
  82. BIN images/fig32.png
  83. +2 −2 images/fig33.eps
  84. BIN images/fig33.png
  85. +2 −2 images/fig34.eps
  86. BIN images/fig34.png
  87. +2 −2 images/fig35.eps
  88. BIN images/fig35.png
  89. +2 −2 images/fig36.eps
  90. BIN images/fig36.png
  91. +2 −2 images/fig37.eps
  92. BIN images/fig37.png
  93. +2 −2 images/fig38.eps
  94. BIN images/fig38.png
  95. +2 −2 images/fig39.eps
  96. BIN images/fig39.png
  97. +2 −2 images/fig4.eps
  98. BIN images/fig4.png
  99. +2 −2 images/fig40.eps
  100. BIN images/fig40.png
  101. +2 −2 images/fig41.eps
  102. BIN images/fig41.png
  103. +2 −2 images/fig42.eps
  104. BIN images/fig42.png
  105. +2 −2 images/fig43.eps
  106. BIN images/fig43.png
  107. +2 −2 images/fig44.eps
  108. BIN images/fig44.png
  109. +2 −2 images/fig45.eps
  110. BIN images/fig45.png
  111. +2 −2 images/fig46.eps
  112. BIN images/fig46.png
  113. +2 −2 images/fig47.eps
  114. BIN images/fig47.png
  115. +2 −2 images/fig48.eps
  116. BIN images/fig48.png
  117. +2 −2 images/fig49.eps
  118. BIN images/fig49.png
  119. +2 −2 images/fig5.eps
  120. BIN images/fig5.png
  121. +2 −2 images/fig50.eps
  122. BIN images/fig50.png
  123. +2 −2 images/fig51.eps
  124. BIN images/fig51.png
  125. +2 −2 images/fig52.eps
  126. BIN images/fig52.png
  127. +2 −2 images/fig53.eps
  128. BIN images/fig53.png
  129. +2 −2 images/fig54.eps
  130. BIN images/fig54.png
  131. +2 −2 images/fig55.eps
  132. BIN images/fig55.png
  133. +2 −2 images/fig56.eps
  134. BIN images/fig56.png
  135. +2 −2 images/fig57.eps
  136. BIN images/fig57.png
  137. +2 −2 images/fig58.eps
  138. BIN images/fig58.png
  139. +2 −2 images/fig59.eps
  140. BIN images/fig59.png
  141. +2 −2 images/fig6.eps
  142. BIN images/fig6.png
  143. +2 −2 images/fig60.eps
  144. BIN images/fig60.png
  145. +2 −2 images/fig61.eps
  146. BIN images/fig61.png
  147. +2 −2 images/fig62.eps
  148. BIN images/fig62.png
  149. +2 −2 images/fig63.eps
  150. BIN images/fig63.png
  151. +2 −2 images/fig64.eps
  152. BIN images/fig64.png
  153. +2 −2 images/fig65.eps
  154. BIN images/fig65.png
  155. +2 −2 images/fig66.eps
  156. BIN images/fig66.png
  157. +2 −2 images/fig67.eps
  158. BIN images/fig67.png
  159. +2 −2 images/fig68.eps
  160. BIN images/fig68.png
  161. +2 −2 images/fig69.eps
  162. BIN images/fig69.png
  163. +2 −2 images/fig7.eps
  164. BIN images/fig7.png
  165. +2 −2 images/fig70.eps
  166. BIN images/fig70.png
  167. +0 −333 images/fig71.eps
  168. +0 −22 images/fig71.html
  169. BIN images/fig71.png
  170. +0 −18 images/fig71.txt
  171. +0 −175 images/fig72.eps
  172. +0 −9 images/fig72.html
  173. BIN images/fig72.png
  174. +0 −5 images/fig72.txt
  175. +0 −661 images/fig73.eps
  176. +0 −24 images/fig73.html
  177. BIN images/fig73.png
  178. +0 −20 images/fig73.txt
  179. +2 −2 images/fig8.eps
  180. BIN images/fig8.png
  181. +2 −2 images/fig9.eps
  182. BIN images/fig9.png
  183. +19 −18 postface.txt
  184. +29 −31 preface.txt → preface_print.txt
  185. +55 −0 preface_web.txt
View
21 .bookmarks
@@ -4,10 +4,10 @@ Protocol-Assertions Protocol Assertions
The-ROUTER-to-ROUTER-Combination The ROUTER to ROUTER Combination
Burnout Burnout
Upgrading-from-MQ-to-MQ Upgrading from 0MQ/2.2 to 0MQ/3.2
+Writing-the-Unprotocol Writing the Unprotocol
Republishing-Updates-from-Clients Republishing Updates from Clients
Vadim-Shalts-s-Story Vadim Shalts's Story
-Writing-the-Unprotocol Writing the Unprotocol
-the-community Part 2 - Software Engineering using 0MQ
+the-community The ØMQ Community
Service-Oriented-Reliable-Queuing-Majordomo-Pattern Service-Oriented Reliable Queuing (Majordomo Pattern)
Preemptive-Discovery-over-Raw-Sockets Preemptive Discovery over Raw Sockets
Goals Goals
@@ -22,7 +22,7 @@ Getting-an-Out-of-band-Snapshot Getting an Out-of-band Snapshot
A-Minor-Note-on-Strings A Minor Note on Strings
The-Flash-Mob The Flash Mob
The-Mystic The Mystic
-advanced-architecture Chapter 7 - Advanced Architecture using 0MQ
+advanced-architecture Advanced Architecture using ØMQ
ROUTER-Broker-and-REQ-Workers ROUTER Broker and REQ Workers
Initial-Design-Cut-the-API Initial Design Cut - the API
Making-a-Clean-Exit Making a Clean Exit
@@ -70,7 +70,7 @@ Step-Decide-on-the-Contracts Step 3: Decide on the Contracts
Tracing-Activity Tracing Activity
Simplicity-vs-Complexity Simplicity vs. Complexity
Language Language
-reliable-request-reply Chapter 4 - Reliable Request-Reply Patterns
+reliable-request-reply Reliable Request-Reply Patterns
Idempotent-Services Idempotent Services
Audience-for-This-Book Audience for This Book
Binary-Logging-Protocol Binary Logging Protocol
@@ -124,9 +124,9 @@ File-Stability File Stability
Programming-with-MQ Programming with 0MQ
Step-Internalize-the-Semantics Step 1: Internalize the Semantics
The-Constant-Gardener The Constant Gardener
+Robustness-in-Conflict Robustness in Conflict
Representing-State-as-Key-Value-Pairs Representing State as Key-Value Pairs
Unprotocols Unprotocols
-Robustness-in-Conflict Robustness in Conflict
Exploring-ROUTER-Sockets Exploring ROUTER Sockets
How-MQ-Lost-its-Road-map How 0MQ Lost its Road-map
Transport-Bridging Transport Bridging
@@ -139,18 +139,18 @@ Identities-and-Addresses Identities and Addresses
Service-Discovery Service Discovery
postface Postface
On-Assertions On Assertions
-basics Part 1 - Learning to Work with 0MQ
+basics Basics
A-High-Level-API-for-MQ A High-Level API for 0MQ
Why-make-FileMQ Why make FileMQ?
Model-Two-Brutal-Shotgun-Massacre Model Two - Brutal Shotgun Massacre
Working-with-Subtrees Working with Subtrees
A-Load-Balancing-Message-Broker A Load-Balancing Message Broker
Using-ABNF Using ABNF
-advanced-request-reply Chapter 3 - Advanced Request-Reply Patterns
+advanced-request-reply Advanced Request-Reply Patterns
Contracts-are-Hard Contracts are Hard
High-speed-Subscribers-Black-Box-Pattern High-speed Subscribers (Black Box Pattern)
The-DEALER-to-ROUTER-Combination The DEALER to ROUTER Combination
-moving-pieces Chapter 8 - A Framework for Distributed Computing
+moving-pieces A Framework for Distributed Computing
The-Canary-Watcher The Canary Watcher
Chapter-Sockets-and-Patterns Chapter 2 - Sockets and Patterns
Content-Distribution Content Distribution
@@ -186,7 +186,7 @@ Handling-Multiple-Sockets Handling Multiple Sockets
-MQ-in-a-Hundred-Words 0MQ in a Hundred Words
Detailed-Requirements Detailed Requirements
Version-Reporting Version Reporting
-advanced-pub-sub Chapter 5 - Advanced Publish-Subscribe Patterns
+advanced-pub-sub Advanced Publish-Subscribe Patterns
Pub-sub-Tracing-Espresso-Pattern Pub-sub Tracing (Espresso Pattern)
Test-Use-Case-The-track-tool Test Use-Case - The 'track' tool
Visibility Visibility
@@ -221,8 +221,9 @@ The-Provocateur The Provocateur
Asynchronous-Majordomo-Pattern Asynchronous Majordomo Pattern
Robust-Reliable-Queuing-Paranoid-Pirate-Pattern Robust Reliable Queuing (Paranoid Pirate Pattern)
The-REQ-to-ROUTER-Combination The REQ to ROUTER Combination
+How-It-Began How It Began
The-Extended-Reply-Envelope The Extended Reply Envelope
-sockets-and-patterns Chapter 2 - Sockets and Patterns
+sockets-and-patterns Sockets and Patterns
Handling-Errors-and-ETERM Handling Errors and ETERM
Unicast-Transports Unicast Transports
True-Peer-Connectivity-Harmony-Pattern True Peer Connectivity (Harmony Pattern)
View
10 .cache_hx
@@ -1,11 +1 @@
c5c3b37b6dbed1f8974d788182f886ff939171cf all.wd
-9d3da2c5647cca975f9921038aec76b87a2b879c preface.wd
-06f2b84812aecba138338bbe7471f697908aaf67 chapter1.wd
-d816884137fadfe7588a186ec83625186390985e chapter2.wd
-7afa6401f1c6a8d172b734933923d75f72c26cfc chapter3.wd
-46788b35ac99fda3bb6e72bdcb364240f4b44ae7 chapter4.wd
-957506df64fc005eb0bc3f5a4237a62b764df431 chapter5.wd
-763453449270b876352fda9c64a6b16e722b8faf chapter6.wd
-9fd987e54d8cb4aaf82a4aca42d63f6dba08e37f chapter7.wd
-9292fc6db7710cc377ee701d1930c9b7ed26b7d4 chapter8.wd
-7d8e5a44897361ef5a77a41a484b04bdf5e57510 postface.wd
View
10 .cache_lua
@@ -1,11 +1 @@
60456bf61f72f010982487fc0e2f6da6d8fcbdfd all.wd
-9d3da2c5647cca975f9921038aec76b87a2b879c preface.wd
-c60ab083512a8e37a2cdc3080c99f11cbd8c56de chapter1.wd
-ad54ce1d7eb821be27fdc3a762c23098ec8e6c45 chapter2.wd
-c023204b309dda501b7c9dbda1cb72fe2ceef046 chapter3.wd
-6e94849924417d6a5a4d5f1988c4335348a21e3f chapter4.wd
-9b89d2a6c089d1cc275c279c0cb586fd74c988a5 chapter5.wd
-763453449270b876352fda9c64a6b16e722b8faf chapter6.wd
-1dafe08ee698aab9e907b30dac26ea9b01339bcf chapter7.wd
-3c5001f43cbccd4094dbe43e4dd6c5ae73094fa8 chapter8.wd
-7d8e5a44897361ef5a77a41a484b04bdf5e57510 postface.wd
View
1 .cache_main
@@ -1 +0,0 @@
-f6b7091c2c538b5c73c3b0cc3d6d728e6505411a scoreboard.wd
View
10 .cache_page
@@ -1,11 +1 @@
-7a4e18477f8b581fce781343ea29def60fc60f17 chapter1.wd
-2469f97949c3c82d0a1a13ed3018271ca2e83efb chapter6.wd
43c0dfa50dd8c2ac4c6bd2b10fbb2924aa0adfb6 all.wd
-9d3da2c5647cca975f9921038aec76b87a2b879c preface.wd
-6892135a9381f9d1ee33b69b8980fa721a6dd5f6 chapter2.wd
-da89431ac22b7c0248afb1770f99a85320154ccd chapter3.wd
-d67e196add5959f9146b56c4f2576396e899f846 chapter4.wd
-07fbe9ed3da725a25680825bf5c06d00b3f8b4a5 chapter5.wd
-e8d11953211a42d21f4f9fcd549ad254872c52a4 chapter7.wd
-aef2ac3360e6c5f76d393ea7e936d0e4bf2069d7 chapter8.wd
-7d8e5a44897361ef5a77a41a484b04bdf5e57510 postface.wd
View
10 .cache_php
@@ -1,11 +1 @@
84556de2857c949e1f80be42c499e6a4482a4c2d all.wd
-9d3da2c5647cca975f9921038aec76b87a2b879c preface.wd
-cab3798621d4018eb2468a8cdebef87d8f0f4072 chapter1.wd
-2fd843f1d7c9111afb5ce1c26690127f358f9dd1 chapter2.wd
-3ac39fe95245a7684b5c0d112a398017bf47ad65 chapter3.wd
-3713b2e78423fef7962cdf644932f8c5d24510d8 chapter4.wd
-23e4a6d3e6ebd02cbf91b1ed7b9928052870fa54 chapter5.wd
-763453449270b876352fda9c64a6b16e722b8faf chapter6.wd
-8a184c12ae8dc0ff4a8090f9beeb6323d4468bb1 chapter7.wd
-89eb1cd9d7b758f82aa99808b04fa7cfafb027bc chapter8.wd
-7d8e5a44897361ef5a77a41a484b04bdf5e57510 postface.wd
View
10 .cache_py
@@ -1,11 +1 @@
1ed1f82517a1901947eb9e824ff2e9f2e9eb09a3 all.wd
-9d3da2c5647cca975f9921038aec76b87a2b879c preface.wd
-697a60f2fd8ffccb123b3ffcefc63f7096853332 chapter1.wd
-77d37366b73fc19246a611e134c42ab1372c5a53 chapter2.wd
-f16ebf1a445dd49b4712c326105efe7c5eb9b9a3 chapter3.wd
-6d435a4fe00797ab5fd61f23c26d4c6069720e69 chapter4.wd
-f209558ec146a06f8b003cbd8af9d41cd6f2528a chapter5.wd
-763453449270b876352fda9c64a6b16e722b8faf chapter6.wd
-33ce8baf6ed67750bd9c59c37b9a0d1444b0a89e chapter7.wd
-4c9043684f2593b24c916c09c5909707c34ed679 chapter8.wd
-7d8e5a44897361ef5a77a41a484b04bdf5e57510 postface.wd
View
368 .signatures
@@ -1,33 +1,33 @@
9ac433a6bf5e85fc6c684ec22d64141aae1b79e0 examples/Scala/rrworker.scala
c9bcc4aabb7a713ad989d43af1eb6293b77da4e4 examples/Racket/rrworker.rkt
3dd24a89abc142240e9d1866c0dd1793f6525eca examples/CL/rrclient.lisp
-2b7d9e0bebc3b4d7435ce6832aa31757db86cf3a examples/Lua/rrbroker.lua
b0b1027f750aeac97cfc8300b16d06c0393d1742 examples/Haskell/interrupt.hs
-15807412876d207a7b744b378ec0d830c05e8c92 examples/Tcl/msgqueue.tcl
+2b7d9e0bebc3b4d7435ce6832aa31757db86cf3a examples/Lua/rrbroker.lua
174d1391cc48e181a848dc26e0e81780c8c1be1f examples/Tcl/mdworker.tcl
+15807412876d207a7b744b378ec0d830c05e8c92 examples/Tcl/msgqueue.tcl
6687b6dc9ec82d5e1690e61bb0d11961f95b430e images/fig64.html
99d44fce0b25ffb47ef64ad79ed6a29883d4dfab images/fig17.html
5430f838457e3f207eb6c08115f7ef94751b3bf5 examples/Delphi/msgqueue.dpr
373d747bb3ccc45a4b22d8224792d3fd5061a29d images/fig23.txt
d0b6485cfa2d67f2cc07204c234eae3a733f0ecd examples/Java/wuserver.java
1dd7a2c209674a83ee9059b31aaec201b173451d examples/Lua/suisnail.lua
88831f7447da7e28f764beacc0f5b4275e43639d examples/Lua/lpclient.lua
-14124f160019f19e4c3a3fea35c8b1f04ee8252d examples/C/syncpub.c
59530e89de1f8081d3a99467fd550f5004f60158 examples/C++/spworker.cpp
+14124f160019f19e4c3a3fea35c8b1f04ee8252d examples/C/syncpub.c
ab91077fdb654742d9ca8664dd03dd882cde3379 examples/Haskell/syncpub.hs
b3e55b02995eed2dfae430fdc0d54fe9ce3d9820 examples/PHP/flserver1.php
170a3cf6fb74377221665dbf3624432351e4073d examples/Node.js/interrupt.js
f4ebef67f78def23c465213177901fa35ea12823 examples/PHP/mtserver.php
511707f5b0130a4d53950e73fa8ad5bf4f68d3cf examples/Tcl/bstar.tcl
384e1e14837f20d365441aa79239c95aa76968ff images/fig5.txt
-e798f8a76d9a483c3da0071a144b851afead3e46 examples/C/taskwork.c
2c281d5da3a127ea46d88f14e07e1a070956dae2 examples/PHP/mdclient2.php
+e798f8a76d9a483c3da0071a144b851afead3e46 examples/C/taskwork.c
051a5771f9fece84837c2948aa50fdf9e97452c6 examples/Q/mtrelay.q
-88cf5450697d62a9b19f4dcd27441496a12a0544 examples/C/clonesrv5.c
+62add6ffb1d592ad232916227b09cbb49e3837d7 examples/C/clonesrv5.c
e64246285bc0ca83c6b7dac42ea712399eebc173 images/fig47.txt
35d891c2ddfc6e7231541b38054b89edcecc3cb0 examples/Delphi/hwclient.dpr
-912dcd6d50b2de75fc73a2b9558c24264cb3e0f4 examples/Felix/msreader.flx
562774f03686167301a66852981bbf22b1e934b0 examples/Go/taskwork2.go
+912dcd6d50b2de75fc73a2b9558c24264cb3e0f4 examples/Felix/msreader.flx
f6097aefad82e399cfb61cbd6c5e4b751cf7fd0d examples/Lua/peering2.lua
37474876eb55638e7eb7360f0b6fcd1af524228c examples/Perl/mtserver.pl
8e64c67801aa1a99c3d539fef8690941ec22457f examples/C/ppqueue.c
@@ -36,23 +36,23 @@ f6097aefad82e399cfb61cbd6c5e4b751cf7fd0d examples/Lua/peering2.lua
2d0a3564500d27fe25b9d9d39f879dd6e9096bbb images/fig55.txt
d737104b56d7f8ebf71728e4f3d1f9715ec7def0 examples/Java/mmiecho.java
c32b5074719f1c1b4deb37156dd26aecf685e04e examples/Ruby/wuclient.rb
-c51de555ca1c9ed1edd64ae16c6bc215f94b7d7c images/fig39.html
e749db0db9a50e09ec9bfdd5621bf1d8c7d89130 examples/C/mdbroker.c
+c51de555ca1c9ed1edd64ae16c6bc215f94b7d7c images/fig39.html
6c25d7e2cb6cfa8efb6c9dd7c9005b19091e46ce images/fig52.html
cddbf90759ae1b9fc7bf93a1a710ef7b74358e8f examples/C#/mspoller.cs
e6981411339bc4434b1351eaa9ca909b3dbd3738 fragments/C/track.c
-66c18b7c9301454706948a48eecb1110de6b8c4f examples/Objective-C/tasksink.m
-d8413dd2158176ae00dfe8a58e7389dfb72c2361 examples/Java/spworker.java
28ff5591f385cb68e9d872a1d5eee4c20e1c85ec examples/C/flclient1.c
-7f37deb454641f41ec66955238771d287fbf7081 images/fig8.html
+d8413dd2158176ae00dfe8a58e7389dfb72c2361 examples/Java/spworker.java
+66c18b7c9301454706948a48eecb1110de6b8c4f examples/Objective-C/tasksink.m
89a88496ac9821d3c4385b6595fac78f2dd88350 examples/Java/mdwrkapi.java
+7f37deb454641f41ec66955238771d287fbf7081 images/fig8.html
9ed22075388d5b17b79613e1593de00e5c1b5f81 examples/Clojure/rtdealer.clj
f365e00a8e88c5f8044858b0b0edcf6dccae3719 examples/Node.js/rrbroker.js
d51cc6873f74e66eb89900107a7d924df2e27ea9 examples/PHP/syncsub.php
664e3b3bf37343cf25fc9493c08ea0ecbea96238 examples/CL/rrworker.lisp
a0752a9cd1cecea192f96b3731e3871a2bce40b0 examples/Lua/mtserver.lua
-1ca069bacbf49b3d30303f9bf8f1abf62195b9f7 examples/F#/wuclient.fsx
5e3753cd2921a6e580d17ec6d54450bb91924106 examples/PHP/peering3.php
+1ca069bacbf49b3d30303f9bf8f1abf62195b9f7 examples/F#/wuclient.fsx
6d576d99815c2249ea64216f89b5cbd08ce6eb00 examples/Clojure/hwclient.clj
170b7b293429291d8ca14312effa05f5959f9fa9 examples/PHP/wuclient.php
38659557bcd2a0a16f437209b34276e763806d0d examples/Tcl/msreader.tcl
@@ -61,17 +61,17 @@ cf6fc64851754d7eab3a990f5f11d1c3533e7ece examples/PHP/tasksink2.php
3f7ba02392ba2573847f21af19ef2179e6fef7c7 images/fig33.txt
e1d6f2b798710110e432bc74e45cd4e1979b4e28 examples/Python/rrclient.py
d35e584a8d149636b431cdfc37aceb2a58216d7a examples/PHP/lpclient.php
-ad548452afddc01daee4bdb98975c4a59c9f707d examples/Clojure/mtserver.clj
bccbdf4e1045c7334a4d2c971a8858869290d464 examples/Haxe/tripping.hx
+ad548452afddc01daee4bdb98975c4a59c9f707d examples/Clojure/mtserver.clj
24ca05e33162f37b114a0ae642cb0c20e76a8420 images/fig52.txt
6d8cfa13a8038b19871b24ab7ea880579d7f981a examples/Objective-C/taskwork2.m
b02005487696f2e75f5fe6ebc2a9d6f34d425425 examples/Erlang/hwclient.es
93067a630fc4940a82466c789a105be765359c36 fragments/C/nomserver.c
8d65609f4c5a245f18abdf39ea5f17378ebe7949 examples/Python/clonecli1.py
0d7cef0ec7297fd380180395ac75a3cfca055d99 images/fig34.txt
19950526a70c9d6d69aa49e26410278a76a2c7b9 examples/Python/mdcliapi2.py
-533912e22da75f4c27e8f865dca8858b804f0346 examples/C++/mtserver.cpp
5e920cc8ab69c567a8e86f514ed330b684ec8803 examples/Java/lpclient.java
+533912e22da75f4c27e8f865dca8858b804f0346 examples/C++/mtserver.cpp
f5255561e6c274c9214ca1e53e4b40d6fff86d47 examples/Java/tripping.java
b9176d1cf9d04301ee470dbe13e3abb4baee3360 examples/Java/version.java
dfe97e2297014f74a9941bbe0d28d6021de0eb51 examples/F#/syncpub.fsx
@@ -82,59 +82,59 @@ ce11487c92b25457062d16cfa03aaee428dadc96 examples/Tcl/flclient1.tcl
83557ec3aa4356b306f5b35dfd3478e236843fb4 examples/Python/clonecli4.py
206739854ec03595ada6f7efdf78cdd9374cfe90 examples/Clojure/identity.clj
65a1354a1a7c65647c004421e409f50dd1d03f21 fragments/C/sendmore.c
-7582277f9d6d059630b82330d789b716cf5390e9 examples/PHP/tasksink.php
5823cb8a50a2842cf4595d3d29fe65db5372cd31 examples/Tcl/flserver3.tcl
+7582277f9d6d059630b82330d789b716cf5390e9 examples/PHP/tasksink.php
0b1a9d46e1be61629fc320edc72ba66dc915305d images/fig43.html
-206154a961e75476262ea0e692a02a117d1bcbcd listings/Python/listing_2.py
5df24f1dde4fab995982f07ffac0bb73d3fcfc4d examples/CL/tasksink2.lisp
+206154a961e75476262ea0e692a02a117d1bcbcd listings/Python/listing_2.py
baa5687f33207675ad5a256620598e09f1dd67a6 examples/Haskell/identity.hs
-6f356d1d98158e5ded441b702cca208aca02f052 examples/Haxe/wuclient.hx
e51a5ba89f2f990a74143e947d5eb138b4437bd0 examples/C/tasksink2.c
-87bb28c49bb1dc83b09dd58aac624a0ea8c06761 examples/C#/mtserver.cs
+6f356d1d98158e5ded441b702cca208aca02f052 examples/Haxe/wuclient.hx
6d7629f3a49bffaef56ad21691dd42178608c8b5 examples/Ruby/ticlient.rb
-dc8c502cb2abc70fe161658cd4020d1b4cd064ee images/fig7.html
+87bb28c49bb1dc83b09dd58aac624a0ea8c06761 examples/C#/mtserver.cs
01b94a290674970a11b07b24f76872a78cfb238f examples/Racket/syncpub.rkt
+dc8c502cb2abc70fe161658cd4020d1b4cd064ee images/fig7.html
e13928b30e6cef03f75a71f9b1004e0717040acb examples/Python/msgqueue.py
3bc7d635b004d97db198517702f180fbeb34de6b examples/C/bstar.c
be9e22c0eb907ddcb3cc292e4ff7d7256fa19e20 images/fig29.txt
56c15b31c21785c0369e87822aed5487f57a1cdf examples/C/mdwrkapi.c
02a04e030422622a26fac6a7140b56990c28ce13 examples/Python/msreader.py
-88c7fba3886d07dc5aabc476ff1035db4cf7497d examples/C/bstarsrv2.c
21045a8035a54064030364d694e249b9fcc5c209 examples/Tcl/clonecli2.tcl
+88c7fba3886d07dc5aabc476ff1035db4cf7497d examples/C/bstarsrv2.c
f0dc629d585678c65bcba97eb71058486994bc96 examples/Node.js/taskvent.js
1ba13ef5d50279d39bac2d12559b4bf6457f41a2 examples/C++/mdworker.cpp
013a936720eec67c64d2c6cd813a9285445e6ed7 examples/Java/mdbroker.java
d7e46210eb9df18f7192ba045b12f39218cc6922 examples/Q/msgqueue.q
36e5cfa4e087534ee2b5210a84da17590e34546e examples/Haxe/taskwork2.hx
19d199668252c2efd204b5a1b8a5f78e4d281b17 examples/Scala/tasksink2.scala
-699d7abe14efacc40072d93e22a7aa08f25001d6 examples/Tcl/taskwork.tcl
7d05dce6e5000ed612e2f00b2e9c28fc0a27849e examples/C#/rrclient.cs
-d66effc075289ae4b0c391fb317c8904124ad852 examples/C#/taskwork.cs
+699d7abe14efacc40072d93e22a7aa08f25001d6 examples/Tcl/taskwork.tcl
07107376f82162ea1e2254a132edaf842519d72c examples/Python/clonecli2.py
+d66effc075289ae4b0c391fb317c8904124ad852 examples/C#/taskwork.cs
9e8c49a1800d479043106d162e5b18aba213dd78 examples/PHP/syncpub.php
-68733bb0c4b8786f3b0535252a8bc49228bec3e1 examples/C/wuserver.c
af11e39c163f8e53a4c76f4c7cbc85272e4ece67 examples/Scala/peering1.scala
+68733bb0c4b8786f3b0535252a8bc49228bec3e1 examples/C/wuserver.c
8dcbe33a178b5d9a8ddc4dd49b5840a68db9ffb8 images/fig8.txt
8636d39599e9e1c9c03e29b72e874314115d1a48 examples/Lua/ppworker.lua
fd8d8ce86fbd3202f9f0d75888559192e5b79cda examples/C/clonecli2.c
-921aeb5a7186f3732988cc06349cea5687e141c5 examples/Felix/version.flx
daa0a3e4e9f8cc6e4355ecdb1f3962e8d9c80b7c examples/C/ppworker.c
+921aeb5a7186f3732988cc06349cea5687e141c5 examples/Felix/version.flx
8f3efd1708c97db8ba028083c298cdd6f11aaeb1 images/fig13.txt
c9aa1cea8ad4b225bfaeaae56d2388db2a4bbe13 listings/Lua/listing_52.lua
33eb7e43b88c56411dbb639471fb164e7331d274 examples/Delphi/taskwork.dpr
5d83e50701bd3d32af15cb0739ed8888e721c32c fragments/C/iothreads.c
e0588e9167edf9fb11154ea7364ed1f45b7b8cba examples/C/mdclient2.c
-3c4d831feac26bb29dbed2e892b9c8e30a0c10b4 images/fig2.html
b55d6909f384e41673a0ac08c2fc383af38378d3 examples/Haxe/tasksink2.hx
+946d8d8e0dac7224685f0b82024a33573bbf6248 images/fig2.html
6ac10c128697c5696144b44e6b6f2b22365f8fae examples/C/rrworker.c
c2e5818c670b5999a3a1de96b1080932df2ec612 examples/Felix/wuclient.flx
aa7f062cb4b086f3c00fd02a769fc15c41751829 images/fig55.html
944b1f6aec4e513e135d2ea4ef4e4aded05f08f3 examples/Go/wuserver.go
8aa0ee8cdceada1858674ac5f7766ccd1391e0c1 examples/Ruby/psenvsub.rb
89e33e7a0541c59b007ed1cd5a7906c7f29f1e54 images/fig14.html
ddfc2281b409a383f380b8bbd2ef8b63916740e3 examples/Clojure/tasksink2.clj
-6e6502fd6552b22bc7b2ac4b3a5b1e3bf0fbafc5 examples/Python/syncpub.py
757c637e8ce0b9cdedceab28224d7081baef0172 examples/Tcl/rtdealer.tcl
+6e6502fd6552b22bc7b2ac4b3a5b1e3bf0fbafc5 examples/Python/syncpub.py
d50c97ecd4fdfc0c982323734e4f7a3554366b0b fragments/C/endpoint-hashing.c
a3c78d15e03ff754a35ad2d4d9c5129bd6e0781b examples/Erlang/syncsub.es
d4a51d25b984a549dd99076aa80900d071f9c2d1 examples/Ruby/hwclient.rb
@@ -149,16 +149,16 @@ d5249a7b3730505d6dfb11ea9eb2836410eccebe examples/Objective-C/taskvent.m
960a06c1a690ee301a1ffedee734d22916b3c799 examples/Python/tasksink2.py
1220af8a8c027f98469c7acb163ee5e8d21278ef examples/Delphi/taskwork2.dpr
331984fa6930299e1fd0e828b0a1191bb8146295 examples/Go/hwclient.go
-cc2696aa9845e31fef32a2b920909ee8d4828f97 examples/F#/rrworker.fsx
11ce5703085fce2f0ca1698fac7cbedbc4e40586 examples/Haxe/ppqueue.hx
-3c8b2e92c6d3e8c908b3dc09909ccadccf26b017 examples/Go/tasksink.go
+cc2696aa9845e31fef32a2b920909ee8d4828f97 examples/F#/rrworker.fsx
8381bbfb2b782daddecb20c385c0476793c10c8b examples/Python/interrupt.py
+3c8b2e92c6d3e8c908b3dc09909ccadccf26b017 examples/Go/tasksink.go
a98102b1ffc758891bb9ecba7738283b49e6fe3d examples/F#/rrbroker.fsx
b4721bcee53fd72bbca0bbe21643dbbb6a96050a examples/Q/mtserver.q
-c2516f8980a23104743cfb0914f193aff2d8b2e8 images/fig19.html
e45acbb3cdc6b0b38765d7161eeba598e6c67799 examples/Python/mdcliapi.py
+c2516f8980a23104743cfb0914f193aff2d8b2e8 images/fig19.html
81830b1e739445388eaf7b93d2c275fdab908ab4 images/fig16.html
-a0fc77368e17deaa8085d14b434cb8584e2b0463 images/fig1.html
+9d21e1539a657dede6d708a76d6a1ac376fc5f06 images/fig1.html
fb30556df0e3f5fe6807dd24d1ea2dc2da810718 images/fig40.html
a0f206b68544e1567e09962c50664e82e065be43 examples/Tcl/titanic.tcl
a82cf8ad385ceee6d9a63e6d884e0e78af1e7bea images/fig19.txt
@@ -167,29 +167,29 @@ a82cf8ad385ceee6d9a63e6d884e0e78af1e7bea images/fig19.txt
e87190cc269079528b7bfb14d8cbef18383a83dc examples/Scala/wuclient.scala
41599b9d90390f7d27164e6f38ea8412417acc56 examples/Lua/lpserver.lua
2ea6fc1ee236f23741397a595fa8cf8ceeecfa60 examples/C++/taskvent.cpp
-b315f1a379447e6711a1375a995db97a022dfbed examples/F#/asyncsrv.fsx
c7875a34f8a77fdb2d083a41440fb0dd64d4e4ec examples/C++/ppqueue.cpp
-97172663ee4af7c63ce0e7e662874125c4e99b62 examples/CL/wuproxy.lisp
+b315f1a379447e6711a1375a995db97a022dfbed examples/F#/asyncsrv.fsx
aeff9494e8da40b5418007b8416331afd8859dc1 examples/Q/identity.q
-35f0f5b397ddec7b54708bac0d4beae3253e5be2 examples/F#/mtserver.fsx
+97172663ee4af7c63ce0e7e662874125c4e99b62 examples/CL/wuproxy.lisp
1e3f4efadd93de801c25c5ae8a0d2cd51fd96834 examples/Python/clonecli3.py
+35f0f5b397ddec7b54708bac0d4beae3253e5be2 examples/F#/mtserver.fsx
ca5b95a4e56cdc3caee7a5192c80e605d0d03e9d examples/Python/wuclient.py
8fa688610c27a7ba5beeb1dec29240c7b9e82480 images/fig28.html
b04812e4484f019cdb81789928a16d454c2e87aa examples/Racket/rrclient.rkt
da01c70fbf921e6f223babec037f91cc9df3f409 images/fig70.html
d6d70ca5c3eb2c4f9d8522b601f7bf55c6caa209 examples/F#/peering1.fsx
424861280c947882ae939b630721d44bdefb5037 images/fig53.html
-e94034dc4d735babf2b373ad1c82c7df05f0eeea examples/Racket/hwclient.rkt
1ce0da618bedbd0559a9a743be1b4e0927bb0215 examples/Perl/msgqueue.pl
+e94034dc4d735babf2b373ad1c82c7df05f0eeea examples/Racket/hwclient.rkt
a8472aa17701e600ed2069846a9b1e79eb7e0d93 examples/PHP/wuproxy.php
-4368c8c6e0dd99b60576aa1afd074c7e08374a3c examples/Clojure/msgqueue.clj
e30bb9c17138a5525355a9cf108e8497e4fd6c26 examples/Tcl/mdcliapi.tcl
+4368c8c6e0dd99b60576aa1afd074c7e08374a3c examples/Clojure/msgqueue.clj
b625e68b08369fba30b598250babdc3759fc6856 images/fig39.txt
-2ec6143a61202c4319c2f150ba5adbb5e61acafa examples/Tcl/peering1.tcl
f69deb87fd94b3cfde6b7c86b5cf2b61a494a287 examples/C/clone.c
+2ec6143a61202c4319c2f150ba5adbb5e61acafa examples/Tcl/peering1.tcl
dce9a71bc9f7d07d19b9b93ce8918bab563567cc examples/Haxe/mdworker.hx
-2097b0e90675c7368978b07f7bbcf913abc034eb examples/Lua/mdcliapi2.lua
a126dbcb2fe0b75726170ae4fc1f2e7891740e11 examples/Tcl/flserver1.tcl
+2097b0e90675c7368978b07f7bbcf913abc034eb examples/Lua/mdcliapi2.lua
c6ca0baaef26571e2d8d474ef2286806c37489d7 examples/Python/version.py
6d31d1348a43210898e7c0afe736a38ef365af53 fragments/C/lowreader.c
589fdcb8cfb8bf3dc92385693d14e9d2a705bc06 examples/Clojure/syncsub.clj
@@ -200,25 +200,25 @@ e504b686cf046abf6171cc0eca1a8e7399926890 images/fig65.txt
c1639957dc773562a1be773d2e99cae9f3c2958f examples/Go/wuclient.go
3f37a4ee524ff08b2bc609cd748d4336dc29e3e2 examples/Tcl/clonesrv3.tcl
32c1da80334b7082e5bd6637fff90c3ce3a49f2f examples/Lua/flserver2.lua
-e903bdb70c52318aa47df262ee8853d41888dcfa examples/Clojure/rrclient.clj
946313d5ee2fd52bdb68c9d680037b1e6c0f82e3 examples/Go/taskwork.go
+e903bdb70c52318aa47df262ee8853d41888dcfa examples/Clojure/rrclient.clj
d14cb8182ddfd1141314aa35ce0e2a123c05a9a9 fragments/C/zyre-tester-main.c
184649a1557b9586718d7ef315368c87ce124d1f examples/Haxe/hwclient.hx
ca29733174c5622768d692f678102fffe85e95f0 images/fig61.txt
24dc35e9d56cb8307bf6a13349296883a4b20e24 examples/CL/syncpub.lisp
8b7bdd78f4020234073531a92538e27ee6aa49b9 examples/Erlang/version.es
18bd61de83270d56380966dbdc02095551bab537 fragments/C/mdclient.c
2db2e7bab5a0822e2281ee71f0e23ceb854129b4 examples/Clojure/peering1.clj
-29d5f504b41dcbbd1a6f83a7da7ee373afa9294e examples/C#/rrworker.cs
053955c7a5da4b42a85be15633670cf3942e530c examples/Python/clonesrv2.py
-71f104b3b6f9da917858444c75f87c186ad6fd58 examples/F#/taskwork2.fsx
+29d5f504b41dcbbd1a6f83a7da7ee373afa9294e examples/C#/rrworker.cs
4ec52c3d1c0427ee3f65b48f7504d286fe326ff3 examples/C/suisnail.c
+71f104b3b6f9da917858444c75f87c186ad6fd58 examples/F#/taskwork2.fsx
6c202eb6e9f3ce924bbeb2a265b62fd69cbaffd4 examples/C/flcliapi.c
f0483625a32ff6ece37d3550f317a9929f2d0f59 examples/Tcl/syncsub.tcl
68890b958cd0c43bea2d16710e9ef5f76ed27ca7 examples/C/clonesrv3.c
-5e89e227f484ea3bdda936a070079829f90169e8 examples/Haskell/tasksink.hs
-9fb208c34889bab485c698bc2955156045f2a044 examples/C/msgqueue.c
d5d9a238539e552ca4e16769b18580f5b09abc65 examples/Haxe/lbbroker3.hx
+9fb208c34889bab485c698bc2955156045f2a044 examples/C/msgqueue.c
+5e89e227f484ea3bdda936a070079829f90169e8 examples/Haskell/tasksink.hs
654e15a0eebdef8b079095a4fe05985c4dfdf9f1 images/fig45.html
f0790d96b9384255d440ad5a303f8e7c50ad180b examples/Ruby/lpclient.rb
fe7eb2506f5e793e2acdc9d6d2e605623c87dfc6 examples/Tcl/clonesrv2.tcl
@@ -230,8 +230,8 @@ a9475b3cafb42a4a9453bbac3c38e7bb25393c70 examples/Python/fileio2.py
90597aa60f53d1f953fd9861e3f2cc7d5e31144a examples/C++/identity.cpp
fd49d36267654e53689c6846b90ab06488966214 examples/PHP/mmiecho.php
d12093fccdea7822cb2297918ae7b0b53b4be160 examples/Lua/syncpub.lua
-3ecb99e5aa310f5e23f7c69100f23e8f8803d1ca examples/Clojure/asyncsrv.clj
7acd052749b75afbf8dc1bcc6307598c842d5762 fragments/C/zyre-peer-disconnect.c
+3ecb99e5aa310f5e23f7c69100f23e8f8803d1ca examples/Clojure/asyncsrv.clj
a4f886beb6be320f203ef23062971104a1e42921 images/fig48.txt
9d2a87bf53a4d8cef8b553f6d3860a0ac492634c examples/Objective-C/version.m
f0a36dcfb514055163abeb5c186348d489ab80e0 examples/C++/version.cpp
@@ -249,8 +249,8 @@ ea967c3c1529f777a87c5d594ef7c67ca6007d07 examples/Tcl/version.tcl
c589caafe8d257fc4958d8a85fd646c90fd0814d examples/Haxe/asyncsrv.hx
db9643aac93bae57d7a76d2b8a3e381d7f07544c examples/Ruby/syncsub.rb
55f68d5fe3f08646069acf6eb0d253d5507371d0 examples/C++/lpserver.cpp
-af40fa855dd2897c3640c00d180db17918389a2a examples/Python/lpclient.py
11864c5a62aa05d8219e546a9601b79496e2235c examples/C/mdworker.c
+af40fa855dd2897c3640c00d180db17918389a2a examples/Python/lpclient.py
e63eff17ab9bb5345c3261b3c3b5cbdc4ab4af69 examples/Tcl/lbbroker.tcl
3dce90835a28094cb8a6f60ebb24f41542ea6449 examples/PHP/spqueue.php
52665bd9b5274d3cde82c0cbc6d6b9c6583b8a32 examples/C#/rrbroker.cs
@@ -263,43 +263,43 @@ fcc8e9992d0a5b310f6b72c8d75fc81173bff8e9 images/fig4.html
68968232aad6c025798fe3c727d40824636a7dd8 examples/Perl/taskvent.pl
756ee73dc06d27222eac761e8350eb151b49d936 images/fig23.html
f56e5aa14083821e04add53e78c30b05b83727f6 examples/Tcl/mdcliapi2.tcl
-0fe1535a3d83ac91e2032162a5c0bab396659392 fragments/C/gsl-client-fsm.c
ab7ad62eaef66e2ebd50af4a2134bfe2c4f5bd9a images/fig48.html
+0fe1535a3d83ac91e2032162a5c0bab396659392 fragments/C/gsl-client-fsm.c
628172b365e3a1655323ecb50d2baad20a7bf6ff images/fig31.txt
3c461934d034fbcb0351d4b3f6d2b396a489cfcd images/fig56.html
+4e7a109396441242ea77318f64667d32e05344a8 images/fig12.html
b0b44e140da9109eba6721be274cfa9dbe6398ef examples/Tcl/flserver2.tcl
deb47cc2e574265cba543d62ad959d9a647fe67a examples/Ruby/rtdealer.rb
-4e7a109396441242ea77318f64667d32e05344a8 images/fig12.html
084f0e2ea219204570af9fa48b5a2aac521fa404 examples/Python/lbbroker2.py
0587fa324f179b315ded5f765d07e247c32db501 images/fig46.html
b0fa0ff2cfba09825719b1cc21a069c5bd313bf6 fragments/C/killsignal.c
-0ed778041a8a6a0722fd597793fff99035e3db16 examples/C/psenvsub.c
5c700dee38dbaace61adb7b81ad24cfc67b93ebb examples/Python/udpping2.py
+0ed778041a8a6a0722fd597793fff99035e3db16 examples/C/psenvsub.c
4421ab2174f0977f25727892fe7d52853e5dc478 examples/C#/hwclient.cs
53735e3764293bf48c438f830e461d55c22be831 examples/Tcl/asyncsrv.tcl
-e9a8a2b8a59e6e44da261cede967de22c47c922b images/fig5.html
bc000aa2fefba4658aedc3f45daddc58b54f8acc examples/PHP/hwclient.php
+e9a8a2b8a59e6e44da261cede967de22c47c922b images/fig5.html
ba5ad4f5cafcaf6e248ccf4432256e7d0a5cf766 examples/C++/mspoller.cpp
e633a2410644b30a0375aff18d68701b443ee0da examples/C/flclient2.c
-01d06328f1d8e74083ece6214f3cee0941385b1b examples/Delphi/rrbroker.dpr
-4af79174f673d6e5f956b8b72954be30c1428448 examples/C#/asyncsrv.cs
a86404ba6d6e80e5b99b1d6b5754c68e6e9e0c0a examples/Python/mdwrkapi.py
+4af79174f673d6e5f956b8b72954be30c1428448 examples/C#/asyncsrv.cs
+01d06328f1d8e74083ece6214f3cee0941385b1b examples/Delphi/rrbroker.dpr
a3c860136b65765a0aadc03daf39c0bf35dc328f examples/Haskell/mspoller.hs
-773d9b88e30742398f0dfac864feca27a9cba332 images/fig2.txt
-e97bb5575be4c9ee1320cb7e792b50088fa54be0 examples/PHP/mdcliapi.php
+6435e3887e808dcc4d5492ebded68aad5c546711 images/fig2.txt
1ded6fcd6e43b28475370ef4580226434a1e8b0f examples/C++/tripping.cpp
+e97bb5575be4c9ee1320cb7e792b50088fa54be0 examples/PHP/mdcliapi.php
e246ec8a39a5b6c373570f4e889e2cd619a8a0c3 examples/C/wuclient.c
301e11f0950fde726a9b83e195f1a68aecd77039 examples/C/peering3.c
1978612464f7799626a93a0b8951ce44edba55f8 examples/C/peering2.c
-075e873f16b053789c556456a0e575dace6da6ca examples/Java/mtrelay.java
-2b8eefb1e9f2e7d36496d00dd96d009021712aae examples/C#/peering2.cs
1d49dfdb5206937506dd6abda421251ec9e03eaf examples/Python/lvcache.py
+2b8eefb1e9f2e7d36496d00dd96d009021712aae examples/C#/peering2.cs
+075e873f16b053789c556456a0e575dace6da6ca examples/Java/mtrelay.java
44cef01d89e8ea97c720bb48d1df0f80ba18220a examples/Go/rtreq.go
3c6f12c8c302ac1c7f7281d76693277e2e51c7ab examples/Erlang/identity.es
d2b84013543f0c5cecd8c40e1c96df54866145da examples/Tcl/clonecli4.tcl
4aa903582072d691c70f133736f2c5e09f5f6b63 examples/Erlang/msreader.es
-8ad4fe4702ae57e5f5a02abd6160e9ed303f3543 examples/Haskell/taskvent.hs
426fea1ea4600ddc83f3d6b3ac44159d1f281b13 examples/Haxe/mdbroker.hx
+8ad4fe4702ae57e5f5a02abd6160e9ed303f3543 examples/Haskell/taskvent.hs
b18bfe2c3a7590d8e8b36dbf7e0f2ecec13713e7 examples/Go/psenvpub.go
851e61b85b1c6902fad4963a136be580bc72bc5d examples/Perl/rrbroker.pl
2b2df695fcc86d71a8c0ea56bbe7a43d71ca7b65 examples/PHP/flserver2.php
@@ -308,48 +308,48 @@ b18bfe2c3a7590d8e8b36dbf7e0f2ecec13713e7 examples/Go/psenvpub.go
3fbc436d569605fcbbe13f5aec8970780e08e39f examples/Clojure/taskwork.clj
c385a3bf2f31f53365f74e0392310bfd7cd79fb9 images/fig37.html
f7a61fb22460c6d10019f590e929758f29bc4825 examples/Lua/identity.lua
-014260833dc5623f1c7c5ba7fe614c8ed5ede071 examples/PHP/msreader.php
5e6cdb16402ca8b761d291544b0641006f754d03 examples/Lua/tripping.lua
+014260833dc5623f1c7c5ba7fe614c8ed5ede071 examples/PHP/msreader.php
ca93af4d2bb7d42aca2eaf228fe14735d291a409 examples/C/bstarcli.c
1c49196eff8ba52f0368fe765693375d2c864074 examples/Node.js/wuproxy.js
9f559bd8bc94596cf8c37af3c290b6f4ae095357 examples/C/lvcache.c
ad40093a4276cdcb238dad6fd6b3d3444586163a examples/Haxe/peering3.hx
34169d317fb92457e6213af3517d011b9099f813 examples/Lua/rrworker.lua
4b0ef7fccf47c3c6603522f231c2c3d04dfbb6f8 examples/Haxe/rtreq.hx
-f9dc879afb428151379e0d73e9b2f24e81015dda examples/Lua/mspoller.lua
c6099200b7db2b0e7edf766f066831036afb1fb3 examples/Tcl/kvsimple.tcl
+f9dc879afb428151379e0d73e9b2f24e81015dda examples/Lua/mspoller.lua
930fc04135f05514e054ea6024ba135b0c9a7c1a fragments/C/lbreader.c
5921a1d177e65c8b9189da1732df5ebb46750eb2 fragments/C/send-deliver.c
72f0ab41ac23d1f977d5d2b3f9aa6f0bcd5678b0 examples/Tcl/wuserver.tcl
-f90d106cfa680fff5936f757bfee8a36df3ba2ff examples/PHP/ppworker.php
f9c5e50cc644a890d5ecaaeecb2dce21d1cd9723 examples/Python/mdclient.py
+f90d106cfa680fff5936f757bfee8a36df3ba2ff examples/PHP/ppworker.php
9f6c4d9c8745ed04569f3fe0e28a2f3d8f8a67c4 examples/PHP/identity.php
35824584d03aa0ec1d18ff08f356194e15f138ef examples/C/lbbroker.c
3b34bd0b674caa82f3c5c6239302f4786bb18581 images/fig60.txt
07e14a2b83478e4490275d8616c878ca51b935f0 examples/Tcl/hwclient.tcl
-89084b3f9396ed35e9f2ed97fd74177fdba99ada examples/C++/mtrelay.cpp
87f4904a607a3714adc96805bc84b8d8bfd688b1 examples/Tcl/kvmsg.tcl
+89084b3f9396ed35e9f2ed97fd74177fdba99ada examples/C++/mtrelay.cpp
7ee1ac5b3382b0a11b74518f49046170e134bfff fragments/C/zerocopy.c
0059f7f429f9c372acfe715a50ba9856ff24b7ee examples/C++/psenvsub.cpp
5119fd157bcb58043610f56a2c23f0ec8905712d examples/Perl/psenvpub.pl
13a196b358782d3b14cf3f1d91d1e8a9b54b8b19 examples/Erlang/rrbroker.es
-5b1deb0c265639e66c0460b33cfdde651529bdda examples/Scala/asyncsrv.scala
-dcf237c025b0dc79d6da7850fbb01bc91380c8c7 examples/Python/flclient3.py
cd3585acc62799fb788654070428edd3848458f8 examples/Tcl/flcliapi.tcl
+dcf237c025b0dc79d6da7850fbb01bc91380c8c7 examples/Python/flclient3.py
+5b1deb0c265639e66c0460b33cfdde651529bdda examples/Scala/asyncsrv.scala
8216f6f8047f8dfb1b32fdf6e3b9e8782f4e1268 examples/Lua/mmiecho.lua
fa371f2ea097a72bf05388026e0ac1a296460c68 examples/C/msreader.c
507963dde601072a14f59da5ff76ef8c82d44426 examples/Node.js/rrworker.js
8b89095e2d125cdbd75153799b27662006e5fa23 examples/Ruby/syncpub.rb
-1c8bb916ec8b7f21cdd00f557298fb70f3a62e1f examples/Ruby/mtrelay.rb
d4c19277f6e8d43d79c7408396bd6aa56823189c examples/Lua/mtrelay.lua
+1c8bb916ec8b7f21cdd00f557298fb70f3a62e1f examples/Ruby/mtrelay.rb
b8d37248d8b6f3d5b75236d1bb9912d9d18322de examples/F#/wuproxy.fsx
bd737c0e81f3c78792359c055f56d20d89126da1 examples/Python/flserver2.py
-77aa442443b920909d689239f4bf18f9c3bf550f examples/Ruby/rrworker.rb
1ed9e08b4f617e4c61dcbc7fc2d3e69e7ed78ea6 examples/Haxe/mdwrkapi.hx
+77aa442443b920909d689239f4bf18f9c3bf550f examples/Ruby/rrworker.rb
289c597af13d115ac8559b81cf56f7d0de482206 images/fig42.html
f9e357527d4523f3372e8225fb582c4df0a1f859 fragments/C/zyre-sender.c
-2520d7b1dd0eb5a5c962382a0e0731c64eb4711f examples/Tcl/mspoller.tcl
966fd89e463f52e05b95643c706b2721aa17a7e5 examples/Scala/lbbroker2.scala
+2520d7b1dd0eb5a5c962382a0e0731c64eb4711f examples/Tcl/mspoller.tcl
e88a19370d726c2a8f7c0c41e5bebda41df2debb examples/Lua/lbbroker.lua
8f74fafe26d24e942273d113e48df557be712885 examples/Haxe/taskwork.hx
13d756a24bc2949123ea50a7dc454555aeb5af1e examples/Python/peering3.py
@@ -361,10 +361,10 @@ f914109feb515bf851c5801b26fee45da3db63ad examples/Ruby/wuproxy.rb
1d206aba7b988a5df20e5f0bec4944698ddc30e0 images/fig20.html
89395a612461d0e436e1c7ada7890d3c9ae6e1de examples/Python/fileio3.py
95c94536721e46967930374828620a8f950e2af6 examples/Tcl/peering3.tcl
-727a1085c2913a13e7ba638e955f349ffd427d86 examples/Java/interrupt.java
ebbd0aa8348321e3c7f213b53108f1270eae93fd examples/Haskell/wuproxy.hs
-0c57d32059f95798b4e79c5843c71ab0633ac697 examples/Erlang/msgqueue.es
+727a1085c2913a13e7ba638e955f349ffd427d86 examples/Java/interrupt.java
37f7554a516a5318d6deb00d0186cf0674235ecc examples/CL/version.lisp
+0c57d32059f95798b4e79c5843c71ab0633ac697 examples/Erlang/msgqueue.es
0e48c8600556573a5cd00c7446b2556a3c9eeb9d examples/Scala/rtreq.scala
232f379bb6841aac1942c256afbe3ffb0a1ab663 images/fig67.html
a7f96e9d559da83ed83028531b6d330aa1b1d943 examples/PHP/spworker.php
@@ -376,9 +376,9 @@ e7f2aa4a07c5c83055dc8c08dc6754f0495df686 images/fig3.html
3027e6a691112166746d2fea64ccee1f8a77647b examples/Ruby/tasksink2.rb
b23097b0ddfca33f789e9fde7614019de44931c1 examples/Java/msreader.java
3097b00c92d8dfbc11574c6bf5e49e514c7c8185 examples/Haskell/hwclient.hs
-b431b5dfdb526d0233b143a76b5593a0e9ab3781 examples/C++/hwclient.cpp
896001032bd57929c10f206c447b5c0211e146a4 examples/Ruby/version.rb
-6435e3887e808dcc4d5492ebded68aad5c546711 images/fig1.txt
+b431b5dfdb526d0233b143a76b5593a0e9ab3781 examples/C++/hwclient.cpp
+51bc20526a687b1414ad2179d0b559060847f296 images/fig1.txt
6fa2706b7452079b5064f3b10ecf13b046e04315 examples/Erlang/wuserver.es
030637f70515212ce10ce3ad52ba57874ee6dfef examples/CL/taskwork.lisp
851a1d5faff6bbefe9c8a7575726221201fcd45d images/fig17.txt
@@ -391,22 +391,22 @@ a865beb305aa1135aec78f557be8ce9dac99fc29 fragments/C/zyre-peer-send.c
69ee8ec8ac6b80900eec9db9a733fbc91ec04755 examples/Tcl/psenvsub.tcl
3091466db64aaca3410b5ff12c86a0718ca012ea examples/Scala/rrclient.scala
2839f303e38a0b5887ed7389857d1e529bcab83b examples/Lua/mdclient.lua
-be36eeeab63ecc6a3ac894f7ce853c8dd61cd815 examples/Scala/psenvpub.scala
-f434d7d404be5dd39ac87e07b22bd0e5e9b2aac2 examples/F#/taskwork.fsx
f9d3db71208dc03564589c1e010886f33577b64f examples/PHP/tripping.php
-ef9136628f5af5723a2e29a702db5730c2602462 examples/Scala/version.scala
+f434d7d404be5dd39ac87e07b22bd0e5e9b2aac2 examples/F#/taskwork.fsx
+be36eeeab63ecc6a3ac894f7ce853c8dd61cd815 examples/Scala/psenvpub.scala
b423eb37986f160fe30abaf4ae5aa02a9d543b19 examples/Ruby/mdwrkapi.rb
+ef9136628f5af5723a2e29a702db5730c2602462 examples/Scala/version.scala
3944e03407bc441ba04e1af44bd36a6f9eeacde8 examples/C/udpping2.c
-587ddc20486b8a8bbecbf9f827990413a0202276 examples/Scala/psenvsub.scala
70b335b807ca7bf9ffd8cff13effa7af5e2ec636 examples/CL/taskwork2.lisp
+587ddc20486b8a8bbecbf9f827990413a0202276 examples/Scala/psenvsub.scala
9a14d89ee3133939587623501482a371bc01b44f examples/Objective-C/tasksink2.m
c5141ccaa6b2582bb24a478112a5fc264176f8aa images/fig32.txt
-364c89e77f1f71046813b3a8eea91071d67eb65b examples/Ruby/msgqueue.rb
4a4f4e2f4f754147cbf7a0ab70473641baa0eb33 examples/Tcl/peering2.tcl
+364c89e77f1f71046813b3a8eea91071d67eb65b examples/Ruby/msgqueue.rb
31b87369781a7587aa76ac0cf3f4a53c9a9f774d examples/Go/identity.go
e8599842cec9cdcd9745b9631e20aa1f10663895 examples/C#/msreader.cs
-60ad3fb8a0edf0b045ae43b2d1f8d3d62e535786 examples/Go/syncpub.go
fe82660cb9ec7f88119cfe65c5f224ad3ca8b9ee examples/Tcl/ppqueue.tcl
+60ad3fb8a0edf0b045ae43b2d1f8d3d62e535786 examples/Go/syncpub.go
d1e07af7a0491c272999d8365c73910d298a5344 examples/Java/mdcliapi.java
e09770716d02317767d31be123858109e2423d97 examples/Scala/mtrelay.scala
217ab631c7defeb84bcb21a0f746b7d2255d5845 images/fig18.txt
@@ -418,17 +418,17 @@ b11ab5cc2c891a767aaa44af0e2e84b20e495863 examples/Ruby/rtreq.rb
b647647a23ad6f52291058437ba544d8ea9cba15 examples/Haxe/wuproxy.hx
0afa5ac679243638bc3c7755595b675204a9139c examples/C/taskwork2.c
c29f21ff0d1fb6a9ee98814df7be5788f3d8592e fragments/C/zyre-beacon-send.c
-2520d1cabf0172062f0c4b6a87145e6b5b399e44 examples/Lua/flserver1.lua
abb8ce37b7d3a289074f71f803b65ae28f9829f8 examples/Tcl/clonesrv4.tcl
+2520d1cabf0172062f0c4b6a87145e6b5b399e44 examples/Lua/flserver1.lua
89e13f078c635c5e0065956a079fa9771a24cf07 examples/Tcl/mdbroker.tcl
-cf0ae0c61431641b75f967fa773614ff66cc4b8b examples/CL/rrbroker.lisp
a15582497ae1c12cdffa1c872caa487601e82c8c examples/Python/wuserver.py
+cf0ae0c61431641b75f967fa773614ff66cc4b8b examples/CL/rrbroker.lisp
30694694e93b0f1b2b2cfba410d12b0e0c41aa0c examples/C/ticlient.c
29ebe8f3b290a947f8eaba3b35128c2e7126cc1e examples/Ruby/taskvent.rb
-17e459c9891d231d8cf52d9ca1bfa777dfe67e5d examples/Lua/syncsub.lua
-a76d70336e1fb5096de4f74b0105139211814953 examples/Java/tasksink2.java
-3d2b26444d7bd68c29391ed42f6d2c02f5747f04 examples/Ruby/mdclient2.rb
b60ba58468fdf27b8607ecf4eacdcbbdf66e0fd2 examples/Python/kvmsg.py
+3d2b26444d7bd68c29391ed42f6d2c02f5747f04 examples/Ruby/mdclient2.rb
+a76d70336e1fb5096de4f74b0105139211814953 examples/Java/tasksink2.java
+17e459c9891d231d8cf52d9ca1bfa777dfe67e5d examples/Lua/syncsub.lua
1cc5cd39f0b2232712aadfa9434f000eabd3eb7a examples/Ruby/mmiecho.rb
2355909dfef8de50aa143397bd00591557753cfb examples/Python/clone.py
014919f68d6ec5a501157ef55a2dc4b2fe1c4110 examples/Tcl/bstarcli.tcl
@@ -437,35 +437,35 @@ b60ba58468fdf27b8607ecf4eacdcbbdf66e0fd2 examples/Python/kvmsg.py
f800d0fba27d579046470d7f59351d2a545c1ca7 examples/F#/wuserver.fsx
b9fbe73f822c9ce267a621ee1431965c4d896850 images/fig66.txt
d1de6d22811bb4fcd6844be1b0628780825299fb examples/Python/kvsimple.py
-717c8a25e9c645b0bab80ba01589371690be3948 examples/CL/syncsub.lisp
-c1460f884568380ade196d868c6148411ef37352 examples/CL/hwclient.lisp
3a4ab391911a42a1b77aa5e2f4612c1689dde91c examples/Lua/hwclient.lua
+c1460f884568380ade196d868c6148411ef37352 examples/CL/hwclient.lisp
+717c8a25e9c645b0bab80ba01589371690be3948 examples/CL/syncsub.lisp
4d05483bce237792ab5a688bccb46def4034b624 examples/Haskell/wuserver.hs
3d7d70e52f8814aec8fe3088f07b3ed6f94f3f64 fragments/C/errorhandling.c
40e868bd02dd79415e71546829eb1e135ebe0682 images/fig35.html
517fbf4531bbc0f0a8e4cfbae7a66143087c6d82 examples/F#/rtdealer.fsx
3e9c994103f803bd46ea4ec951c3214ffa292ae5 examples/PHP/mspoller.php
0e8d427bdb8810d7c66ca44fa5c1a45918dd1a89 images/fig22.txt
52fd1ee7017e5e2e5e462ce72d7cb17b9f7728c0 examples/Python/mtserver.py
-a64321fd57eb6457d6b022f4cd500224ddd39cfe examples/Q/hwclient.q
c1dff700e39a7ba1ee468e0a265ff4a692da44db examples/C/rrclient.c
-1ead2466fd2cd8194a019ac6252e212312a8a438 examples/Delphi/wuserver.dpr
+a64321fd57eb6457d6b022f4cd500224ddd39cfe examples/Q/hwclient.q
4b649f9decf2eafdae94d4ecbcd179f6672f9c77 examples/Python/tasksink.py
+1ead2466fd2cd8194a019ac6252e212312a8a438 examples/Delphi/wuserver.dpr
2aa879f0d5975dffd214c8ad4da28c51fe25daea examples/Java/msgqueue.java
-ea6ef00910056a10b6dcacd8eb7b066b588fe5fc examples/Clojure/rtreq.clj
a58593e768f43e0f072010de14c9479ecedc7390 examples/C/clonecli3.c
+ea6ef00910056a10b6dcacd8eb7b066b588fe5fc examples/Clojure/rtreq.clj
04ec3cbdc742b244508905d2230d7024beefadc8 examples/C++/syncsub.cpp
-dd154b1823b1d0c1973878e75eb555a1b39b22a1 examples/Erlang/wuclient.es
28474bb198d026945549367392cb382d93ea5f43 examples/Tcl/tasksink.tcl
-132d7e305c5e8c8b97ce8ef09887d04e877a0358 examples/Python/lpserver.py
+dd154b1823b1d0c1973878e75eb555a1b39b22a1 examples/Erlang/wuclient.es
55ca07b17a51acc9b9845562bb32956884a08228 examples/C/udpping1.c
+132d7e305c5e8c8b97ce8ef09887d04e877a0358 examples/Python/lpserver.py
df02a1b5a14fb6c4c59242267452b3f35fee8a79 images/fig63.txt
9a71a2dc4b91375f9eacd1147f4d67103f4d3ece images/fig44.html
2fd66fb7929ad455d7cf315f51525a9bcc959ae6 images/fig62.html
-7f1351d80c6c8474c1a36aab1491b2af803bb316 examples/Python/hwclient.py
5d2034ef8adc1ce16be15888decb5212f5bad376 examples/C/flserver3.c
-026df16d4e0a52c63cb4e1c4392df6f359775b4c examples/Scala/taskwork2.scala
+7f1351d80c6c8474c1a36aab1491b2af803bb316 examples/Python/hwclient.py
f5d703809e7a577231e35f969b3354042a035537 examples/Haxe/rtdealer.hx
+026df16d4e0a52c63cb4e1c4392df6f359775b4c examples/Scala/taskwork2.scala
1e5211b4baec288c727840289e4fdaa7fa8eb1a5 examples/Perl/psenvsub.pl
26064e8811a647a288bc96e8c04e09c8c055fb7b examples/C#/peering1.cs
dd52ad88f301b0728681f965b6bb76a0780e1655 examples/Scala/rrbroker.scala
@@ -478,26 +478,26 @@ fecccfef601afb3bc23d66a54f40963f24d019bb images/fig9.txt
48b0ad03ee2653e642844955c6eebcbaf7fcac75 images/fig54.html
4d25b1c46c16a3cbbe9c22e825719b35e4b22337 examples/C#/syncsub.cs
9e5c5f5a52b0d1dcb0258530e21bf125c4058329 fragments/C/zyre-udp.c
-c4a7caf9b7b1ee5783e27a86de53d847e3025de4 examples/C/asyncsrv.c
594489762e5f929ecd4428e5de205c8b2131cc40 examples/Haxe/bstarsrv2.hx
+c4a7caf9b7b1ee5783e27a86de53d847e3025de4 examples/C/asyncsrv.c
1c73d2833ca6209e4b88c3416b40b4ef3aea73e4 fragments/C/mdworker.c
2ec354d2c8f68b67833b41c334c7d5fdfbbaac20 examples/F#/identity.fsx
750c4b192983d7255cb344f1dbdef4e1c206ff77 fragments/C/connect-command.c
af68626db911198ba8ac4bb12316974b2c8e99ab images/fig22.html
3c5dc4717591388d5acca861d1a2c72f49734608 fragments/C/zyre-beacon-recv.c
f60dbf7d5bdce09ecc35f912c90219711a99a063 examples/Delphi/rrclient.dpr
-03e21f2d6542a348e8b87a7b036d4189cc0e6125 examples/Lua/rtdealer.lua
ee25f638ba3392c24c2226e9a6380b4aa9b2abfd examples/C/mtrelay.c
-0cf5bfdea92aec874931f5040065cc665b52ccb4 examples/C#/clonesrv1.cs
+03e21f2d6542a348e8b87a7b036d4189cc0e6125 examples/Lua/rtdealer.lua
3e71716e39f94773183a0ac509253eb11e69cd25 examples/C/lbbroker2.c
+0cf5bfdea92aec874931f5040065cc665b52ccb4 examples/C#/clonesrv1.cs
018e2676e32e9fbd9b8c7b6751b06d72b844fca4 examples/Scala/mspoller.scala
293fdb7ec6feeadcf0d31dedbc3d857f872df4a3 examples/C++/mdbroker.cpp
295e1f12ed1c66b7772b05f0af9b1cf85002e7fa fragments/C/heartbeats.c
f38a17f3d6d7d26a9c62ef5866549841e1d8f90d examples/Scala/wuproxy.scala
296db9e4a2c63d7d381eebe879cae2c57756259e examples/C/interrupt.c
6d607af2953948ad2556a3dda9fe1d654d233dce images/fig24.txt
-f8d140b04350536aba6cf27507894edb14749d7f examples/C#/psenvpub.cs
92387031ffc133b6a7f2caaa55af6a7ca2d2cc82 examples/Racket/syncsub.rkt
+f8d140b04350536aba6cf27507894edb14749d7f examples/C#/psenvpub.cs
44d3e7f1698735b359e9a05f2cc5876796f814be examples/C/mtserver.c
13b93afc9fdce597b792f1f7471fa7fc7c56c418 examples/Tcl/mdwrkapi.tcl
ba58b751b2696d719c05d8f60bdebd93da5742ab examples/Perl/syncsub.pl
@@ -509,12 +509,12 @@ cdd50cfecaf4fdd75f86bd57caef15c4e1a551a4 images/fig32.html
07c12be9e4d3e6295d55fe9fb60a2bf4ce933b45 examples/Java/taskwork.java
5a6856019c5eb5551a9b7ac15804adc22786e29d examples/C/fileio3.c
74e181861a58d8777628ab60d900c0027719f8f7 examples/Tcl/identity.tcl
-ceebcdba5aed54e7db291505ac5f1399a9c23d94 examples/Tcl/flclient2.tcl
3b4296ad5c62320f9b196493a4247eb2cd05cc0d examples/PHP/mdbroker.php
+ceebcdba5aed54e7db291505ac5f1399a9c23d94 examples/Tcl/flclient2.tcl
b0e55c0d613a902727434237a2b90769f64e8713 examples/Lua/psenvsub.lua
786897c8ebde59b10088dde8d437d285073d9cbb examples/Erlang/interrupt.es
-d363b4fd752513f77cef05b4f7314940f6a90308 examples/Haxe/peering2.hx
e5d2b7d85b173fe1532715eedc462b4b7538a492 images/fig26.html
+d363b4fd752513f77cef05b4f7314940f6a90308 examples/Haxe/peering2.hx
4cf54788e6b74126f9e0e5e841b2ad0d64bc24e1 images/fig24.html
2fd07614cf3d592062bb2da2b2fa525ec96005d3 examples/Lua/version.lua
846d5c3619c6abdbaec1b61c15412619bd758553 examples/Java/mdcliapi2.java
@@ -526,42 +526,42 @@ a3d31e1155e1e94a2f94f4511f8b159376120390 examples/PHP/psenvsub.php
f9b0162f2b35fac0e376713f2e3a8022632b62fd examples/Tcl/bstarsrv2.tcl
61040e57d715f8c3eda6cdce492816fafa060ec1 examples/PHP/mdcliapi2.php
c23b0118f8873731462614acd1d99d3aedbbe6b0 images/fig30.txt
-4a6105e55453970f6e3e350ba466426234dcac44 examples/C/eagain.c
-ae49804afca1123975717706669b1ea7c37a2494 examples/Haxe/mdclient2.hx
9aa75f775de177fe937c603fd4038acda1f61301 examples/C++/psenvpub.cpp
-bde4c8de6a498cb01b13077939246438f2bea09e examples/Tcl/clonesrv5.tcl
+ae49804afca1123975717706669b1ea7c37a2494 examples/Haxe/mdclient2.hx
+4a6105e55453970f6e3e350ba466426234dcac44 examples/C/eagain.c
4f6b02addf92602f48cec666d6ad781107005587 examples/Objective-C/wuserver.m
+bde4c8de6a498cb01b13077939246438f2bea09e examples/Tcl/clonesrv5.tcl
25824d6735b00b5b244d1de327ed9fe88889cff1 images/fig12.txt
a962bf82044ad24a68e58e615bde56e925084eca examples/Python/bstarcli.py
-cdc429a6a307669bfc42e2a0ea1cd900c0f1f4b3 examples/Objective-C/mspoller.m
cf771c56bcc2cfb37210b06c0c216b1014f04a48 examples/CL/tasksink.lisp
+cdc429a6a307669bfc42e2a0ea1cd900c0f1f4b3 examples/Objective-C/mspoller.m
6b7633b5f6cf59eb824181fcacdc22b3d1140946 examples/Node.js/syncpub.js
984c536d1462d38471bc7d0f3291552ddf496b90 examples/C++/rrworker.cpp
83d5e642c342fb7f599fdc0afd2686d664036888 examples/Racket/wuclient.rkt
13276c6fe6faf8a91134745baa57c3a7c768f4e6 examples/Lua/peering1.lua
5ead8e955ffd3aef093962fedf4728d31ba9b8c3 examples/Lua/mdworker.lua
5f26f4790fbaf7d9430596b3d0a1bbb139bfc030 examples/Haxe/identity.hx
d67f9d486521c36c3be880408041c2f67a124d57 examples/PHP/peering1.php
-d8481c31426c5d10d2bae3b859f937b8c20b23af examples/Lua/rtreq.lua
-0abc1617cfb82ded129ae59a6b91735dc7d9effc examples/Delphi/syncpub.dpr
ad1ee934a61a9ba4f7a27303bb339dcb69181ded examples/Go/mtrelay.go
+0abc1617cfb82ded129ae59a6b91735dc7d9effc examples/Delphi/syncpub.dpr
+d8481c31426c5d10d2bae3b859f937b8c20b23af examples/Lua/rtreq.lua
d11eeafddd91aa9d8001b18baf0c9d7445cf1305 examples/CL/rtreq.lisp
a4bd570b04fee9601ceeb9a256f05a67104852eb examples/Ruby/mdworker.rb
90239ee4bc59d992256c618dda028c16f55ebfd2 examples/Erlang/mspoller.es
a14c56da5b0be77baee2043445cc2c5132cea483 examples/Java/asyncsrv.java
f6cc0a1e96bf00b26ed0ac7cd5e65c3c88c9a65d images/fig36.txt
81ca7b3c974d97c050af18a864a0f160aad94b28 examples/Haxe/rrclient.hx
6002771776c50e8c60cbb4a1255eaba19345639f examples/C#/msgqueue.cs
-e4f82fcc83b035388f0ee36651e9456922ccad23 examples/Python/clonesrv1.py
5a60e7eb2d3d0835495ecfabe154f981eb78d97d images/fig64.txt
+e4f82fcc83b035388f0ee36651e9456922ccad23 examples/Python/clonesrv1.py
15cb6e2889cd48e9137f43e9184b542a909ed3bc examples/C#/wuserver.cs
4fc68495559f6f14e89b297599616af9ab5aa7c5 examples/C++/syncpub.cpp
f81257bbf9b68c0dea9564dab8a2e971f91c6449 images/fig49.txt
-e028c4b192655fc17caa2d93271f4b4408e10ace examples/C#/clonecli1.cs
4c355c3ee021f76a7a3c17fe8d73084f67dad1ff examples/C#/version.cs
+e028c4b192655fc17caa2d93271f4b4408e10ace examples/C#/clonecli1.cs
b1878c6c5ee140cf1c0c1232009d1773d964750d examples/Python/wuproxy.py
-8bee4389dc482ea41a969edc0f0a74d3d7382665 examples/Node.js/taskwork.js
261335063778f7117da81a0fcefd0ea5e7ba4f01 examples/F#/taskvent.fsx
+8bee4389dc482ea41a969edc0f0a74d3d7382665 examples/Node.js/taskwork.js
d07c0a1d4aed768a854f2ca8aeff0cb31a0e63b4 examples/C#/interrupt.cs
3a415228805efc00cc76ee0ddd1c156ec0931f04 examples/Ruby/mdbroker.rb
d551563521aa74d56e8010cfd253d68435cfbb49 images/fig30.html
@@ -573,28 +573,28 @@ abf89204ea9a06221532aa245cd54a777110c027 examples/Tcl/clonecli3.tcl
d89583bf0ecc6284bea5eb764b875be3bc38836e examples/Haxe/peering1.hx
6b1d7f5a62330a7fcccf3a16392f80ebbac88f6c examples/C#/tasksink.cs
c2e9e538f889a8dfac7bc8791b34bb528d83170f examples/Python/taskwork.py
-96e6063c141fe6a77fff308da4d13200e51d933f listings/C/listing_3.c
b0bb23f550b303ace9e80373109ebced46caafa7 examples/Delphi/taskvent.dpr
+96e6063c141fe6a77fff308da4d13200e51d933f listings/C/listing_3.c
ea7338945fc8bcadb1d5ff7fede241918e80a558 examples/Delphi/mtrelay.dpr
7a218107407adbd7edcb139984410904e9f81cdf images/fig44.txt
5157a27cd375a61952f4792ddceb152a38a1a022 examples/Java/mdclient.java
4eb901ffff4da80ea2c755fef9b8e9e78971a468 examples/C/fileio1.c
-e93d8d54afafb7a4a3c7229cd1541bc2ea4630be examples/Java/syncpub.java
7a1c3db3b0401371e0bf4188878813d29c949b2f examples/Haxe/interrupt.hx
+e93d8d54afafb7a4a3c7229cd1541bc2ea4630be examples/Java/syncpub.java
da0678d5e95eb79bce037b5a942a21a7e5ad5e67 examples/Felix/hwclient.flx
8dc30d63dc3bf9792aab68d299a322ee0966403d examples/F#/psenvsub.fsx
8de96d7c83874341df47af49192b5720fdfcd194 examples/F#/tasksink2.fsx
-699b532c440dbd6963ecdd8d913e015f2a5033f4 examples/Lua/mdbroker.lua
2deaf35ddbb850c377702bcafec8759ad61963ad examples/Clojure/rrbroker.clj
+699b532c440dbd6963ecdd8d913e015f2a5033f4 examples/Lua/mdbroker.lua
a7d19cbf1ab02b4badaa2e7e8e59d55508af2a39 examples/Erlang/tasksink.es
da4f91e4b7fde4f2de478da6e0357358175412b4 examples/Erlang/psenvpub.es
ed88f89244f54c196808a203a436661a27c41a2a images/fig51.html
6094db7eeabe82bd65264d74086cad4aefd57859 examples/Objective-C/msreader.m
a19c24bfe53d0c96a8aaa2f0f2a6c4379406d688 images/fig40.txt
-cab289d0991039fc5e7eb7a0324a59c7872a183e examples/Go/rrbroker.go
42d6bed5c5411d1491da880c1e65ab5eb014db69 examples/Node.js/wuclient.js
-9fd2471fbdb204c1014b85127c88619fe1609c2d fragments/C/filemq-main.c
+cab289d0991039fc5e7eb7a0324a59c7872a183e examples/Go/rrbroker.go
937d691438f722a7b74763c3b5a60bc3f1aff18c examples/Haxe/spworker.hx
+9fd2471fbdb204c1014b85127c88619fe1609c2d fragments/C/filemq-main.c
4024f5c1f920bbbb491953986f4da13bf007d838 images/fig65.html
026935100e4b6db59ee3f10e0f5c0ff21a92e837 examples/Python/clonesrv6.py
147b628a40f8fb861b946e5898a129ab5b69e538 examples/C/kvsimple.c
@@ -604,13 +604,13 @@ cab289d0991039fc5e7eb7a0324a59c7872a183e examples/Go/rrbroker.go
05cee87881deb0470871ee37c3c28f79848d8667 examples/C++/msreader.cpp
4714872ae2aa3e16867a104dc2b64a26fe94b026 examples/C/flserver2.c
7bfb8809cd3f12d07d8ae8bac7b20669ebae696a examples/Haxe/mdclient.hx
-605467ed0920b734207dad970d90b81ff0b2cd15 examples/Tcl/bstarsrv.tcl
d8582e3fb3e2f71c88c178f7de1637eeb9fb6f39 examples/F#/mspoller.fsx
+605467ed0920b734207dad970d90b81ff0b2cd15 examples/Tcl/bstarsrv.tcl
8bbf0c0d7521069375355cfea12db1af4f9a4684 examples/Java/wuclient.java
41cf357ad67c29439494576d8d6713d0cfd983e3 fragments/C/zyre-beacon.c
b1c54e1be6afafcf094b62dc618f1e6933a42071 images/fig45.txt
-4b7c444789cb4d87d9f5e7fe095c447ae6be27e4 examples/Scala/peering2.scala
2adc3d160708690759ef393cde9094d6249212c1 examples/C++/wuserver.cpp
+4b7c444789cb4d87d9f5e7fe095c447ae6be27e4 examples/Scala/peering2.scala
c4c3f4779e818d038c9f406ceab2acb1c9126d4f examples/C/mmiecho.c
478229ee0fed61bd53c347dde14c24163042d7ce examples/Ruby/mspoller.rb
94300aaa34b2791851002b2a8442eed9db183c18 examples/Clojure/mspoller.clj
@@ -620,13 +620,13 @@ c42f18e4d98fbf85a9fed2b7210aaecfe229d9b7 examples/Perl/msreader.pl
a00ef46913f0fe1ba0239a08897eac54734d33e9 examples/Lua/ppqueue.lua
7a3affdf030ad06bbf3e6f62c3060a95bc31cfe0 examples/Felix/wuserver.flx
e8809df4c73d6d22ab8b3a1e4114ed142b75de9e examples/Haxe/bstar.hx
-637fe63633f131a096b97c958dcc6b21afef1fcb examples/Erlang/psenvsub.es
ec7c9e16c7574be93c8b2a52070f3c511e8146cd examples/PHP/mtrelay.php
-a7e00a7c16d60da7e8b85e22a5096bc407689dd3 examples/Haxe/lpserver.hx
+637fe63633f131a096b97c958dcc6b21afef1fcb examples/Erlang/psenvsub.es
97d9731192887638ab202339984374ba71517ed9 examples/Haskell/taskwork.hs
+a7e00a7c16d60da7e8b85e22a5096bc407689dd3 examples/Haxe/lpserver.hx
181c3ed344dcc4b42262a6eaab52adc119254384 examples/Haxe/ppworker.hx
-e3e0a93aad24bd4515a6d5eb55104d946c6b5aa8 examples/Python/rtdealer.py
4219a689f5822159574d07ac23af97688ec7424b examples/Objective-C/taskwork.m
+e3e0a93aad24bd4515a6d5eb55104d946c6b5aa8 examples/Python/rtdealer.py
d757796709376d976b2b49a8b796bc4036d51560 images/fig69.txt
2c3014f8a082a8814488d49c7f6e24741d5f8d13 examples/C#/psenvsub.cs
a30e34b77ff1ef4e136c061c186999d6e43865c2 examples/F#/psenvpub.fsx
@@ -637,11 +637,11 @@ ce5683d8306ade8e0548e7a380f200f6ce55b7b0 images/fig25.txt
6c9e789b2121030e7e4e45d5ed806571cafe891b fragments/C/reactor.c
4aaf85684b4730da53d4db829f0c74a5231b5d82 examples/Scala/identity.scala
4e51c3b8beaccdfaa51cbcd7c76db0921a4d396d examples/C/clonecli4.c
-670708b0fbae6ffef28f048eaa69722da95cbe72 examples/Tcl/taskwork2.tcl
f9a236e7d02d3144d822578392242d353be93eab examples/Java/taskvent.java
+670708b0fbae6ffef28f048eaa69722da95cbe72 examples/Tcl/taskwork2.tcl
a0325006d0a5013b9771ff85f2895d0d051fcab6 examples/Scala/hwclient.scala
-f22a46da7b23b95589dc3a0256e68c59c8161a11 examples/Ruby/mdcliapi2.rb
d68d866d6c0aee55ad5a87407e2c81422494e474 examples/Ruby/rrclient.rb
+f22a46da7b23b95589dc3a0256e68c59c8161a11 examples/Ruby/mdcliapi2.rb
8226e73b8f02bb51483aac8eb7eed1b2009c0f4c images/fig28.txt
f4ef8f0757c0a604067d158314872c17b13cbc8b examples/C/clonecli1.c
78cea4c633ad9d85ac5f1669fde10bdd5e024de7 fragments/C/filemq-connect.c
@@ -655,58 +655,58 @@ e9294e086e02bbeccfb7044f7b485818606f09ac examples/Haxe/bstarsrv.hx
0bb36e58c66628d69e45817892ff7541ff195e48 examples/Python/ppworker.py
32d614bd6b42d57d0616b8e290a4d3ddcec7fafd examples/C/peering1.c
00904b45d52c2ebfa3c4ccbdb050e59a0d3c8b75 examples/PHP/version.php
-33b9df8314d8e964a5ccdfd3adcfbe94afb7e68d examples/Tcl/clonesrv1.tcl
923564b967c88a69f5a35b0214d14be5c27ad9a3 examples/Java/lbbroker.java
+33b9df8314d8e964a5ccdfd3adcfbe94afb7e68d examples/Tcl/clonesrv1.tcl
809a6fb6e8a82be86ffe0ea768c337c4addc9861 images/fig38.html
-e8dcec2e962eff848e2993fff8992ab20d4df703 examples/Scala/wuserver.scala
78f575cf0dced40352692aad0bf6b044c5b38401 examples/C++/wuclient.cpp
+e8dcec2e962eff848e2993fff8992ab20d4df703 examples/Scala/wuserver.scala
3db0aba7e6b889de9e2d4c15643497b7445c3c77 examples/Delphi/wuclient.dpr
b22744d56e2c02c14e39f1ae7111bd94a7d89d61 examples/Haskell/rtdealer.hs
f859d1e4ce6477cc82463e685f24b37c7c6d4591 examples/Java/mdworker.java
-a82fe18ff02f8aeaba24a7ac8b71c8541387cb96 examples/Python/pathosub.py
941186cbf82a9233c5cf3a64a2a862656d4e2fb1 examples/C/syncsub.c
-8f60d6ff82af34fe11f945f77fa35b48b0ca3255 examples/C#/lpclient.cs
+a82fe18ff02f8aeaba24a7ac8b71c8541387cb96 examples/Python/pathosub.py
a17ca9f522711535ada7ac063d963c46ac08d876 examples/Go/psenvsub.go
+8f60d6ff82af34fe11f945f77fa35b48b0ca3255 examples/C#/lpclient.cs
7a2d68bd1eb183b8314b474be227226f7400a970 examples/Delphi/mspoller.dpr
24866bcfbe82a7dab299bb590f2ddef1c19222f6 examples/C/clonesrv1.c
b18c46f6571ced278e688f9f3d4eb688328e6e45 examples/Node.js/hwclient.js
-f6de5c7335e46627ea611eb72cd678f233ab2202 examples/CL/identity.lisp
22284bee68b3f07153d883f1a71e3c477d5eea9d examples/Erlang/rrclient.es
+f6de5c7335e46627ea611eb72cd678f233ab2202 examples/CL/identity.lisp
c3df779cb4a316021ea6f3bd204332ab6a7b3554 examples/C++/msgqueue.cpp
cb9140734ae8a32eb67b51854cfd6558dfa0fb28 examples/Java/ppqueue.java
9cba59d77e5bc58e54d2f31b46e03006fffecacd examples/Python/flcliapi.py
d9dac0c15b955107b7bb17045212eedc47a9a83b examples/F#/rrclient.fsx
fd88e273aa6aa83d6e57ba7b5f6e79c2a587fa35 examples/Lua/taskvent.lua
90b3b9bdf3be2c060d54ac19b0ca71f5d53c49f1 examples/Java/taskwork2.java
d33029466fe007d6a40eff229ae984db7d24d84d fragments/C/zyre-peer-new-socket.c
-5099ee606c943236f38ec2c2ca23d41aecc6086a examples/Haxe/mdcliapi.hx
29885d8b42aa761ade711aa3df2f72537f2d7f7e examples/C#/rtdealer.cs
+5099ee606c943236f38ec2c2ca23d41aecc6086a examples/Haxe/mdcliapi.hx
7cb0afaba65ca6730c3241ea51b723a5bc0080bc examples/C#/spqueue.cs
-8fa200a41a9f1c62f29f6234d27f654351e2932f examples/Python/rtreq.py
464edc2f30ed6be8ffb7e6dd6b3a580678419c52 examples/Ruby/rrbroker.rb
+8fa200a41a9f1c62f29f6234d27f654351e2932f examples/Python/rtreq.py
c61b2f5e7e1f0f22b9f7b79c30911308a62ce1c6 examples/Scala/rtdealer.scala
2eb200ebe40e5ad8519904958bd8579a0ffb1852 examples/C++/lbbroker.cpp
31fdb5d9bdf11092f0ca9d760a98027ff292ab73 images/fig57.txt
b63c7ba7f580a975a0c666256c09491f409917d8 examples/PHP/titanic.php
02d6406fbee42cf7886b561554013cd00c93e649 images/fig36.html
464826411fe1b1d1968c5597ef8be88338e7c25f examples/Python/identity.py
-1ba798e9b2a7f1737c9293344618b9f417a92846 examples/PHP/lpserver.php
2764e2846d3a3b4f000ee4129227193cba16f3b9 examples/C#/lpserver.cs
-9d92b84a575b76ee5fdac5a8aead948ff30642ef examples/Clojure/taskwork2.clj
+1ba798e9b2a7f1737c9293344618b9f417a92846 examples/PHP/lpserver.php
ab03e4daf137c1777844839149ba1b8bb1940aaa examples/F#/msreader.fsx
+9d92b84a575b76ee5fdac5a8aead948ff30642ef examples/Clojure/taskwork2.clj
ede61c56ca791dc200d8d2e3dc3ea3e93c88b8fb examples/Java/rtdealer.java
5ff36654f93e830b0e1ccdd6b740cb6ee8a0ae73 images/fig38.txt
2e55f6cd73044d1877cc1f301a902291e62a4df5 examples/Go/wuproxy.go
3104553d24dfdb1c56ac22af4fb6d84ac685927e examples/Go/tasksink2.go
f7665b3c745137d93f01bec00c1f3cd5ada9777e examples/Lua/wuproxy.lua
9c1b0fccc7cc8b8c707ca81f2c37732642bb0e26 examples/Node.js/tasksink2.js
1bc3ac0654d8df13824ee2bd7fd4a2c9f09c0297 examples/C/rrbroker.c
-d57ccbe787977ff744f80d4f1a79197ecebf06f5 examples/Tcl/flclient3.tcl
7c682b5ac16af1de897da51335add16f628dcf7c examples/Java/mdclient2.java
+d57ccbe787977ff744f80d4f1a79197ecebf06f5 examples/Tcl/flclient3.tcl
096286ed113b0d2e77b61a23ed50bb84c6aeab10 images/fig11.txt
89593be0a78ce37fa9a1b716ebf6093658770d99 examples/C/fileio2.c
-c4f77206176aa5521161c1c3339f9721544386a1 examples/Lua/spworker.lua
2616973ca5e429429431da8b0cd68fee2624d780 examples/Ruby/taskwork2.rb
+c4f77206176aa5521161c1c3339f9721544386a1 examples/Lua/spworker.lua
3712754dd7ed93e0aa9912839e603cc377fc24d9 images/fig34.html
2e791f8c7978a06b4dbd1838c9d80c2ce2e45021 images/fig29.html
1f813528041e21b6ebe067318dd680d047a2efa3 images/fig46.txt
@@ -715,22 +715,22 @@ f8d9818f5a0c1074c16409d72c3136a79cf394e0 examples/C/mdclient.c
5e53f164abf421c2006fa3a693d0e89f4bf70701 examples/PHP/rrclient.php
d94ee5f18cfb33e812f33dc7043e649a03c32b0c examples/Clojure/psenvpub.clj
9c7cbcee1d9ec6b3aedf20d1b8b87e67483f469b examples/Clojure/tasksink.clj
-537ff7870193111288a2633fadb6f08a9571f385 examples/PHP/asyncsrv.php
08ff035f92bf543f376d754760a2c70c33d67395 examples/Clojure/psenvsub.clj
+537ff7870193111288a2633fadb6f08a9571f385 examples/PHP/asyncsrv.php
86f6b496dc7a3a9a438bab11eb48c528bfd7c3ea listings/C/listing_9.c
b34b2c8e02016b6b06fc86b29ffac4d3c634a789 examples/Tcl/rrworker.tcl
-1e9bb59fd3f4d4c2cabdfb7a0405b58624b13df6 examples/Python/syncsub.py
11300a3f44bbd371adb002f71a0e60798d6a77b8 examples/C#/taskvent.cs
+1e9bb59fd3f4d4c2cabdfb7a0405b58624b13df6 examples/Python/syncsub.py
b740cbdd8fcf7a92c2f67b3ff878ca901780788a images/fig50.txt
d08db2f494327c9a65b666e87870036eb427825d examples/Haxe/lbbroker.hx
-4b31ce38ae50c343af437aef319e959f3dcf73b7 examples/Lua/mdclient2.lua
7a3cb549757293282c7ceabbdfb099df610f6e15 examples/C#/lbbroker2.cs
+4b31ce38ae50c343af437aef319e959f3dcf73b7 examples/Lua/mdclient2.lua
609460d6a636f53f2eeeaadc57bd7421ad67de73 examples/Perl/wuproxy.pl
d159ba66186230f04fed8f83844c792aff81019b examples/C/tripping.c
475db08e2b2dd6088f0f0f9db273dad36b6c0f4d examples/Felix/taskwork.flx
73179f58bce97f2cff063d3b22660047c5b0370f examples/Perl/mspoller.pl
-5d6e1d4bddb6cfb6f2048c346339e13cb86d39ab examples/Node.js/wuserver.js
8f8986abfc39b91a8e2c5d020560cd2890d4c759 examples/CL/wuserver.lisp
+5d6e1d4bddb6cfb6f2048c346339e13cb86d39ab examples/Node.js/wuserver.js
cad4eeb6fe15288442ea45008ca3ee75ce40a356 examples/Python/fileio1.py
325a47f4e2d7512a975a33418fc4b0877b1757db examples/Erlang/lbbroker.es
31bd219d91215e0f6262533bc61779327eaf4ea2 examples/Python/lbbroker3.py
@@ -762,12 +762,12 @@ d462ee86e0cda76fa9baa2eee736b57328e48e06 examples/Haxe/rrbroker.hx
775da39ca34fd7747b9996ca5a3814fc7b20cc4e fragments/C/filemq-outbox.c
ecb71c5db9aa051d94a08c6ce4cec21f6be68da9 examples/Lua/taskwork.lua
b297eb869c526383372c9bf010cd59524e5a71d2 examples/Java/hwclient.java
-eba142807de55f8283f9e037b6b5f3423a496d71 images/fig25.html
139fd93844fc6d40436fc072433805091c743dff examples/Python/titanic.py
+eba142807de55f8283f9e037b6b5f3423a496d71 images/fig25.html
2862cbff59b718df962a8d31cd5547825734f79f examples/Ruby/titanic.rb
8c503896c494994aa92badc2bec13c8b0cc465a4 examples/C++/taskwork.cpp
-9a194dc680787428e8043a16b929fde86e879d05 examples/Python/rrworker.py
d475b3cef1761b7fe82087363c65402d3fd35ecd examples/Scala/syncsub.scala
+9a194dc680787428e8043a16b929fde86e879d05 examples/Python/rrworker.py
aa08eecc0c17fc62ede2b94fa68634b180fa191f examples/Python/flserver1.py
92315f716ea52f34fea2225ee902584137726271 examples/C/rtreq.c
05151851bf4cf7ed862564fa26806e85c72342f3 examples/C/pathosub.c
@@ -776,46 +776,46 @@ e4a3b1696fa822e9e5c3d258d70d27531f20b8a7 examples/C/flclient3.c
0d4e1c57fd64d769ca8569cdb7ea89726e05c2cd examples/Tcl/ticlient.tcl
6c00b6105deaf40e891c5ebeb6d3aabd184ae79f examples/CL/mtserver.lisp
f89357fcecef6c4b6f351d6610b50c59a4b33338 images/fig59.txt
-a19133e3125629d9e088dc5e093ca64fa079adb4 examples/Clojure/lbbroker.clj
356e568c343e9ac7502c2acddd1dbc86a50777cd examples/PHP/taskvent.php
-deb33e1ba3fa7ae0baef4e4ecd7965e208692a89 examples/C/pathopub.c
+a19133e3125629d9e088dc5e093ca64fa079adb4 examples/Clojure/lbbroker.clj
c416903da6d1ee6cb2ac35379d11eba5c3c8e7a4 examples/Lua/mdcliapi.lua
-189a00fa6ec82be236501914ec7cdf59f5ad10b2 examples/F#/rtreq.fsx
+deb33e1ba3fa7ae0baef4e4ecd7965e208692a89 examples/C/pathopub.c
480791747730347aab8e38375d8cdad255eac624 examples/C#/rtreq.cs
-c601630483aa8163c164cc05654c93e1ec4238c6 examples/Python/mmiecho.py
+189a00fa6ec82be236501914ec7cdf59f5ad10b2 examples/F#/rtreq.fsx
223024a5402ade184eddf55db02bbe15bc8bfb4f examples/CL/mspoller.lisp
-8aa4b0bcbf4a6ad58ccff0bbb23dcc556cd748e2 examples/Scala/tasksink.scala
+c601630483aa8163c164cc05654c93e1ec4238c6 examples/Python/mmiecho.py
723c23f248daedaf58a0d27113afe0fc3120d5d6 images/fig67.txt
+8aa4b0bcbf4a6ad58ccff0bbb23dcc556cd748e2 examples/Scala/tasksink.scala
fc2cbd33b5512f2117673a1d75606e94172068fe images/fig58.html
7f1f4a7dcdf1252b8a586a5f7ede040b33a43011 examples/Racket/peering1.rkt
3576a6deab0a0102a7801b26103ba13772fb2f7e examples/C#/kvsimple.cs
-3f8a218b52eb47b789c995025e4a4f01979ba753 fragments/C/binding.c
-7cd942169f9e19b33d41873f80dca8d24befd4df examples/C++/rrbroker.cpp
bccd2903912a0ee9327147df46c2f2ee4af4eb7d examples/PHP/msgqueue.php
+7cd942169f9e19b33d41873f80dca8d24befd4df examples/C++/rrbroker.cpp
+3f8a218b52eb47b789c995025e4a4f01979ba753 fragments/C/binding.c
5ab6f9eae9b48e19d8d9db8fe00491d7afde1d09 examples/Perl/hwclient.pl
-eac1fdeea054fa75aa75ca66f260c4311e1f20cd fragments/C/fmq-server-methods.c
3c6a9991700252ff4bf317ea30374b89f5397369 examples/PHP/ppqueue.php
+eac1fdeea054fa75aa75ca66f260c4311e1f20cd fragments/C/fmq-server-methods.c
050c9a52a5e95e34019579a68f6d69ac4593e074 examples/Haxe/psenvpub.hx
-8e636c1772843986c290c680361eb88fb98eeadf examples/Python/clonesrv3.py
454aaf49cf11eb196137db4b526ade21a29b9678 examples/PHP/rrworker.php
+8e636c1772843986c290c680361eb88fb98eeadf examples/Python/clonesrv3.py
029199c8a81f8216472398be978d95800a21a7f7 examples/Python/rrbroker.py
-072ea7adcf8415432a199ff2a7c570df61ab8e62 examples/C/hwclient.c
-b1e9caf0f65c7e5cc871e71bd6b66540aa34706f examples/Perl/version.pl
+039ab782540f29dd2683af4a09b78688efc73073 examples/C/hwclient.c
5bb675a6bd01e261d362f0af4ccdec8115594c40 examples/Perl/mtrelay.pl
-cb990ae7c17f286112b5bf854fdff34bd1928f1b examples/Scala/lbbroker.scala
+b1e9caf0f65c7e5cc871e71bd6b66540aa34706f examples/Perl/version.pl
b5adb151d9261bf29736db8a224f2546db19c945 examples/Go/interrupt.go
+cb990ae7c17f286112b5bf854fdff34bd1928f1b examples/Scala/lbbroker.scala
7366146da7d9eee0b60679686ff5405f1d7a8b21 examples/Python/espresso.py
a15cf4f006365029bcc77a745dbb3834d8b8abff examples/Python/bstarsrv2.py
-e21d50d3437b908c6a73df83388a47024a89db32 fragments/C/bstar.c
0ea81e82dc8df0be93ab6b3bd8b45b180656bfb0 images/fig49.html
-820d3cbfdb8aa3c0286920322dc7d0ca44dc13ef examples/Python/clonesrv5.py
-51ad42202da234dfb591357a66b6a65846768e9d examples/Delphi/version.dpr
+e21d50d3437b908c6a73df83388a47024a89db32 fragments/C/bstar.c
bdbb101eb5f90914501411e4c64e2c6729a3f138 examples/Haskell/rrbroker.hs
+51ad42202da234dfb591357a66b6a65846768e9d examples/Delphi/version.dpr
+820d3cbfdb8aa3c0286920322dc7d0ca44dc13ef examples/Python/clonesrv5.py
aeacc2169932a79b2878a7632bdc74f56feb2dd4 examples/Tcl/rtreq.tcl
-22231306ee0a96931796aeab7edbc7a2b66ccadd examples/C#/wuproxy.cs
eee27cebfc3430bb721105e5d820b5820960f8b8 examples/Tcl/syncpub.tcl
-dcfa38144e9ca888e88e26dbe7eae24d26887f42 examples/C/mspoller.c
+22231306ee0a96931796aeab7edbc7a2b66ccadd examples/C#/wuproxy.cs
a2d591ca2392f5f245a1067f198370eb093db65c fragments/C/recvmore.c
+dcfa38144e9ca888e88e26dbe7eae24d26887f42 examples/C/mspoller.c
51ff473e39ebfe618aa97b2200c9180efa785300 examples/C/clonesrv2.c
37bc92528a15cdbeb8302bc27d29bbed9202fbfe examples/PHP/suisnail.php
8c1ecd0d543358734087158cf299ffa98f960cda examples/Go/taskvent.go
@@ -831,59 +831,59 @@ b6a99b3f201db11d19790372f661d267888c5b8d listings/C/listing_5.c
2e2597cdb67625c3605417fc9b251f98309d9cc8 examples/F#/mtrelay.fsx
926b8eb58ced92421f238451ac200d924edb18c6 examples/Java/rrbroker.java
3251f5a918c518d4d999745f4bf519aff15c7fe9 examples/C++/spqueue.cpp
-ca32f9d180f19102ba508528215cc205ada78969 examples/Python/ticlient.py
599ba58b3c662b5544df37cbcf1629bd53d4d73e examples/Haskell/mtserver.hs
+ca32f9d180f19102ba508528215cc205ada78969 examples/Python/ticlient.py
6329e7bd426fcd55c8f09d1cdb284c6c208e5f4b examples/C/mdcliapi2.c
9808e21fc8c16b78260520099c06e012328fe7ef examples/Java/rrclient.java
01e564ed11b92b06ca1c9d2b5d3750014d094389 examples/Go/rtdealer.go
d86949a2f0c731f7adebc68817bd40a1d3956249 examples/Haxe/mdcliapi2.hx
f9a1065debae27c68bb4b5ba2f42f1c2f750882e examples/Haskell/taskwork2.hs
d56849079c6febe5435dc8e9d80efc6cd3bc0b57 examples/Tcl/psenvpub.tcl
-49d8e81d1a2a15f28797329da96cf4357c0295b5 listings/Tcl/listing_51.tcl
1a1f021db1ee5026b046979255bc06557ce5ccc5 examples/Python/taskwork2.py
+49d8e81d1a2a15f28797329da96cf4357c0295b5 listings/Tcl/listing_51.tcl
b0433d2cd17f5378ca0fb15e29a38dfd7676a38e examples/Clojure/rrworker.clj
57dc37180cf0cb55cf74cab641aeb5963f0dd2f6 examples/C#/taskwork2.cs
be1675522415917024e893c987eb2bfa3cea6497 examples/CL/psenvpub.lisp
e9d14d5c9f07099270bd481761a91f6cee3c8e69 examples/C/psenvpub.c
7bd3e7bec716f58b445c5aa362487cb561ac8197 examples/Scala/interrupt.scala
dbfe698065615c709df22f3dbafe20d92c10df21 examples/C++/wuproxy.cpp
831cbd27da4d2640d2138376c68fdf727f39fc90 examples/CL/rtdealer.lisp
-9b64452578fa4991a7b12b83726618e97d9b6961 examples/Python/peering2.py
-70f78a553b0ce661932abed8aea9c29b3a7cd246 examples/Haxe/msgqueue.hx
3d4902440450deb9e6fe770a5d180cdebd1d75aa examples/C++/taskwork2.cpp
+70f78a553b0ce661932abed8aea9c29b3a7cd246 examples/Haxe/msgqueue.hx
+9b64452578fa4991a7b12b83726618e97d9b6961 examples/Python/peering2.py
040c9a2a97211fbe7694e38722c009b99e82e9e0 images/fig11.html
ce1b0ff8570cfaccf4da8d1616efa7a9832691c0 examples/Erlang/tasksink2.es
-e571c5139b2421c11e1d1a6a8f3fceb3e46c57d5 examples/Python/flclient1.py
b8810620cd3720f59d0da02a129aa15e7b6a7c9c examples/C#/spworker.cs
+e571c5139b2421c11e1d1a6a8f3fceb3e46c57d5 examples/Python/flclient1.py
fc5f173eb09369a47d77a13302d5f41a0d6f1efd examples/C/titanic.c
b0ac55ad4ddb5e379b3c538d8c9fc39a55373663 examples/Delphi/mtserver.dpr
d2897ea493dd51909f8493f4696a61e179839348 examples/Haskell/rrworker.hs
-1e57bb46cc6483e97c5007a9a6f8eb34ff800fd3 examples/Haxe/spqueue.hx
eb9d69319caba861c00f3bdd2171c4b1ddb2e920 images/fig15.html
-f29224468cd3a41a6c49e15473255a03ccc714a1 examples/Tcl/spqueue.tcl
+1e57bb46cc6483e97c5007a9a6f8eb34ff800fd3 examples/Haxe/spqueue.hx
6e380b8ab0c1328367eebb09ca8898061300ea0c examples/Scala/taskvent.scala
+f29224468cd3a41a6c49e15473255a03ccc714a1 examples/Tcl/spqueue.tcl
e3b5a89286a8f1ca714c530f2516ccb2f7812ef3 examples/C/interface.c
e401bbc295490d46d4bc2faf43e18d83ecc347c8 examples/Tcl/tripping.tcl
-20725ab69a77fcc360b08324a3ddcc2f340e6cb3 examples/Python/spworker.py
15c1c67a75d5fd2494d7accd02825c71314a9328 images/fig6.html
f6ad34460eb79ea8e8bc3a76f08861d041410459 examples/C/wuproxy.c
+20725ab69a77fcc360b08324a3ddcc2f340e6cb3 examples/Python/spworker.py
081680119fb0cc113bcd132d9d8bd83cb1014f9a examples/Python/peering1.py
-05930495b09eb242a7c95dcc8352f3a4ef633dfc fragments/C/fmq-server-api.c
-de75777b140ade5e3a8d40dd1e0add6b130012cf examples/Haskell/msgqueue.hs
29510a4334f677770d1a5bcd1cda0ac5b26e1847 examples/Node.js/taskwork2.js
+de75777b140ade5e3a8d40dd1e0add6b130012cf examples/Haskell/msgqueue.hs
+05930495b09eb242a7c95dcc8352f3a4ef633dfc fragments/C/fmq-server-api.c
c8b48d8c968235a8abbbfe75bb10df23a5195ba3 examples/Python/mdworker.py
78de65c324bc9961a36350a35ef7e25409c3c1fd images/fig70.txt
3b6d4525a42e93a330e3477340822168b4ca8f75 examples/Python/flclient2.py
98a30320f3002931534b647d2fcde0cadf939bcf examples/C/version.c
163e2cd99a87e379c1a87029469e0a9d8bb60687 images/fig33.html
5eb82c1ee69b7f3926ddb92b9fa676bffbc36abf images/fig7.txt
-b42c1d6d1c4ffafeddf3195ebd8d32454a31d131 examples/PHP/flclient2.php
-37cae4e61787d0e919eecb92bf8bb120b7af9720 examples/C#/wuclient.cs
c5daa5026683f992a38e451a02137c852ac10cf6 examples/Ruby/taskwork.rb
+37cae4e61787d0e919eecb92bf8bb120b7af9720 examples/C#/wuclient.cs
+b42c1d6d1c4ffafeddf3195ebd8d32454a31d131 examples/PHP/flclient2.php
475fc02c5d2db1db93a128341110240d89565e76 images/fig3.txt
49d8e81d1a2a15f28797329da96cf4357c0295b5 listings/Tcl/listing_53.tcl
-355f613847209ec070652f0172c7977bb831bbbc fragments/C/clone-methods.c
6d0728c1f389c9146353665ea97e9dccd013c067 examples/Ruby/identity.rb
+355f613847209ec070652f0172c7977bb831bbbc fragments/C/clone-methods.c
28b2b15746d80f3871d749d7de62a66947758b77 fragments/C/fsm-instance.c
d29942990c930cf73d2ddcc69094955842029d8d images/fig16.txt
7adeac0c791e19168f44c751cba6c468533b1f30 examples/Lua/mdwrkapi.lua
@@ -892,8 +892,8 @@ ab0a2a2e4104987e4f51ad3fe9edd0754fbcbf1d examples/Haxe/bstarcli.hx
1ef10b9ac9ce6f170e6f7ea5cb30b1a3e60a46db examples/Node.js/mspoller.js
e1389503d088f80b2780b4ac71cb2f618110d279 examples/Erlang/taskvent.es
349b329a577fdbd36094c2c65e5cce116be777e1 examples/Racket/wuserver.rkt
-5fecf9a27a5152a346eab9fba55050d0cf5700f8 examples/Scala/taskwork.scala
86de846f01c7257073d69d26630ae8a8deaa30cc examples/Haxe/taskvent.hx
+5fecf9a27a5152a346eab9fba55050d0cf5700f8 examples/Scala/taskwork.scala
274e41a46057bd1c5a31cb2a31dab5f80aa0433d listings/C/listing_4.c
62f0018be9dff9f0fe31a5c7709a7c195294c451 examples/CL/wuclient.lisp
54b3b21e16eb35779ef72e548b852ff2dea30ccf examples/Python/flserver3.py
@@ -912,19 +912,19 @@ ffa6f911753f4667adeac7acbf0af82619c3298e images/fig59.html
a549bfefda37eb24bec206266654fa07b59c47f3 listings/C/listing_1.c
5f2ef1d0e9b906dc41082d21437e27dc07e15266 examples/PHP/psenvpub.php
855c1c483a7b292b18287fc9a6c01ecd078428eb examples/Haskell/psenvpub.hs
-5ff3c2c179e232a14a77c44b28a4ba00136df193 examples/C/mdcliapi.c
-d4a9334aedf99b5a80c6aa8d4bad7c4a78a95bf6 examples/Erlang/asyncsrv.es
76757f1ea4c6d00304b1c3862bbce137923ce313 examples/C++/hwserver.cpp
+d4a9334aedf99b5a80c6aa8d4bad7c4a78a95bf6 examples/Erlang/asyncsrv.es
+5ff3c2c179e232a14a77c44b28a4ba00136df193 examples/C/mdcliapi.c
c58e47792e687956eeffd0a9771e16740f99c583 images/fig9.html
45e372bbd69237f77bda4cd8ebfcb6b322624993 examples/Tcl/lpclient.tcl
63ad6de94fb07b6c81a710b62e7c3448326958b6 examples/Haskell/asyncsrv.hs
6be59a869b523f84d39911ba3555bb5a776e2195 examples/Go/version.go
e9dd478370cd491253aa8d8f1c6c1edd4058a87f examples/Ruby/interrupt.rb
b4feff8a129abe704d2b6e50dda8619a44db1dd7 examples/F#/peering2.fsx
7eecdb8dd0439f2e3ccfd373207e4a347b633fcb examples/Scala/mtserver.scala
-90c96bfd1e30968d85624f75d7bb774b863dcffa examples/Haxe/tasksink.hx
-3fbc601c94b9a21ab2ba76f7ce7b1cf923638860 examples/Lua/tasksink2.lua
bcbf3df1c3a7b6177e2fb9c4b23fbef2c04fe453 examples/Tcl/tasksink2.tcl
+3fbc601c94b9a21ab2ba76f7ce7b1cf923638860 examples/Lua/tasksink2.lua
+90c96bfd1e30968d85624f75d7bb774b863dcffa examples/Haxe/tasksink.hx
f40c8598540a80e5c0faa3cd3bc173065254bbde examples/Erlang/mtserver.es
78a06c0b8f7d02d0e076bff3dc7e89b742f18848 examples/Haxe/wuserver.hx
da7b030c35b1fa509d48955824533378176cd6c1 examples/Java/mspoller.java
@@ -933,8 +933,8 @@ b0c4d4ae03d3bce0aa3ba3a1f8d2c0c92fc61163 examples/Go/mtserver.go
a125413e2b9b557bb3e8f4529b4431a3537d34d3 examples/CL/lbbroker.lisp
d5fbea85f42e96cd6ce39282e7b0cecf68db1f5a examples/Lua/lbbroker2.lua
ede3eb3fee0360425dd960bf6b29157981b53b87 examples/PHP/rtdealer.php
-254d74723d839130f38073b4248aeaef0d512b94 examples/PHP/ticlient.php
e36ceb93cd7503297a9821d7e51357c9f77599bc examples/PHP/taskwork2.php
+254d74723d839130f38073b4248aeaef0d512b94 examples/PHP/ticlient.php
949aebaa5e5a4a6417df102e579ce33e983c9207 examples/Python/suisnail.py
a99fc828954bca4c08e077a9147ca1a99b3a29d0 examples/F#/peering3.fsx
880a97667e3465a2dced8dbde99c9f71c8ac9c53 examples/Tcl/ppworker.tcl
@@ -960,40 +960,40 @@ e78618af875fe0ad2d9c4419a1f45e54d95049e3 examples/Python/udpping1.py
bc05a82bdc42f564d13f0cdc3e93ed92f3e317aa images/fig56.txt
073a42ebad1b366801557f2eb0285f87943d153c examples/Haxe/mtrelay.hx
f9ca31a94c338743782c3a054023f90f4a30bc55 examples/C/lbbroker3.c
-80fa778b782013d5858483c6bbc60cac5ac02e2f examples/Tcl/mdclient2.tcl
2d0d39e83a4aedbb0a2636d1f1af339a13ff0b5d examples/Tcl/wuproxy.tcl
-cb7110eb2dda8a85645e294bd30cd94eee627537 examples/Go/rrworker.go
+80fa778b782013d5858483c6bbc60cac5ac02e2f examples/Tcl/mdclient2.tcl
790af6d31afbb5989ebd9498ca945b29ce0ae9ff examples/Node.js/syncsub.js
+cb7110eb2dda8a85645e294bd30cd94eee627537 examples/Go/rrworker.go
0cf903048614650325c99f1ef0755161cb5aa379 examples/Python/mtrelay.py
-8ebdebda345981e274bc43a97614033c25fc0f0c examples/Ruby/wuserver.rb
bbbd0a5797391c41f95d65a1581c3f118d741ed7 examples/C/taskvent.c
-6f500d37d0b8af5b8f70193b8963bb0e20d12ac1 examples/Felix/mspoller.flx
-209004a947f5930aa1982e001567899ddbc1ceeb examples/Go/msgqueue.go
+8ebdebda345981e274bc43a97614033c25fc0f0c examples/Ruby/wuserver.rb
a32ab8cfc2b4d0dc740706f77a1d5f4da34ddb12 examples/Lua/msgqueue.lua
+209004a947f5930aa1982e001567899ddbc1ceeb examples/Go/msgqueue.go
+6f500d37d0b8af5b8f70193b8963bb0e20d12ac1 examples/Felix/mspoller.flx
6e2deb814a4f50a235f414a670a84eacab55def2 examples/Python/clonesrv4.py
2a56e3734ff6c5567486ff64c190a05609b1dfc9 examples/Python/tripping.py
dcb44567004fed7d62f6fd37cedc9d69944b04d2 examples/Java/rrworker.java
156fc1b2f0cebacaaf1cf8a7c6ddc5713ba285e1 fragments/C/publish-file.c
6df760c1cd3835bc0776605c7856d30b15279183 examples/Tcl/suisnail.tcl
-8fa732b14ccf66aec5444cd06977ea7ca326befa examples/C/lpserver.c
-97281518b39a4f34097724b5c770798b54d1688d examples/Lua/tasksink.lua
61921f916d68a29e03e7a241d78814cce13e3f42 examples/CL/psenvsub.lisp
+97281518b39a4f34097724b5c770798b54d1688d examples/Lua/tasksink.lua
+8fa732b14ccf66aec5444cd06977ea7ca326befa examples/C/lpserver.c
c2676475f8fda872393cce58dc7df21c62cced03 examples/C++/suisnail.cpp
2f206b28a569c44201f1b0488bda32852b4f4cd1 examples/C#/lbbroker.cs
4c909b7b69fe8b6c9e25b5306b8540d4517b024b examples/Tcl/taskvent.tcl
-957820a5f46c52686a67588660dd3efaa34e425d examples/Python/pathopub.py
36af0e9d235c633f1b459f796be7aa5d4fa9d4ba examples/C++/rtdealer.cpp
+8e0156bdbe5db912b1aef803b0d1e2cdfa2d7870 examples/Python/pathopub.py
a691c14ec0abde79efb50088d41a03012e4b9d93 examples/C/tasksink.c
851df4e00d6ee9b43cd9472096f5a1e449fb0449 examples/C/spqueue.c
ee774e13cae3a8b453436491047368021229c058 examples/Felix/tasksink.flx
a017f0d80efee4eb5caec88441a171e367610d7c examples/Java/mtserver.java
5ffe06bb649eee8bf9565f70994a2bc544b9d9d4 examples/Perl/rrclient.pl
-d798b546625a903d6517de3936e9b4b392847b15 examples/Java/spqueue.java
-8b0fe2b9db67502cf04efbcc0ffbc184381cee90 listings/C/listing_8.c
194a4976288688772541b112b8748d68b0d4c42d examples/Erlang/mtrelay.es
+8b0fe2b9db67502cf04efbcc0ffbc184381cee90 listings/C/listing_8.c
+d798b546625a903d6517de3936e9b4b392847b15 examples/Java/spqueue.java
d28f45d8f89fc8027500a261003b0d92b66fc49f examples/C++/tasksink.cpp
-e50c1db7c2d1abe817d4dc4fb9bf851f57eb4e04 examples/Haskell/rtreq.hs
8696aa34d6f7a2b5e2fd1a382c7cd89d617011cc examples/Haxe/syncpub.hx
+e50c1db7c2d1abe817d4dc4fb9bf851f57eb4e04 examples/Haskell/rtreq.hs
766a1353868b8554cf196b97c26fe2bd49804ddb images/fig37.txt
87d0a08a70e13cac09f877943e31c0f57c687621 examples/Scala/msreader.scala
a9ca460aa870b79fabe8e5ca8c203772adf866da images/fig21.html
@@ -1010,22 +1010,22 @@ bb339d758ba9514150356f31869379097012ac22 examples/Perl/taskwork2.pl
53f4354839ef8666abd0d377de03d9f408c0f855 examples/Perl/rrworker.pl
4648fbda25bb8027a644fd5c888632a9954ffb60 images/fig53.txt
1562798256e98197a89f5f84dcee2452cd651675 examples/C#/identity.cs
-08786b43b74f2e4215888c7603ca941c50f72761 examples/C++/lpclient.cpp
b20eef22a2eb404f50a16ab964312d02e98e582c examples/Lua/msreader.lua
+08786b43b74f2e4215888c7603ca941c50f72761 examples/C++/lpclient.cpp
af3d72a3dd615769775249428cb4326cd626fdf8 fragments/C/zyre-listener.c
304315bf28011c811f657ad49aaaaec595e82837 examples/Lua/wuclient.lua
-1a8c84cde8bc82946c6ccd643ba4e34e7329949c examples/Tcl/mmiecho.tcl
-5f8efad2a8476391e8c779b30842fcf4ad049aa7 examples/F#/hwclient.fsx
8baf7592263d466e3b5be2e91d958eb5d0cbc342 examples/Objective-C/hwclient.m
+5f8efad2a8476391e8c779b30842fcf4ad049aa7 examples/F#/hwclient.fsx
+1a8c84cde8bc82946c6ccd643ba4e34e7329949c examples/Tcl/mmiecho.tcl
513a5190bea8aef397ddc21748abd992a9b82e84 examples/F#/lbbroker.fsx
-dbea6f88e76f7b5406b5b616e427a7c844ecc160 fragments/C/kvsetttl.c
a9aaa1bbc4fcc045ca68181f0d6aeb83d6d08520 examples/Haxe/lbbroker2.hx
+dbea6f88e76f7b5406b5b616e427a7c844ecc160 fragments/C/kvsetttl.c
ac1156ba2f953b3997550affe245164d50925024 examples/PHP/lbbroker2.php
a58db4e6242dcbd31dcfe8248382a69cb5ebf4dc examples/C/rtdealer.c
cbbcc35dbc862d7626072c3c2a7b154423ebd3bb images/fig4.txt
98913d674c40172faadc26833ee49e6b298c507c fragments/C/proxy.c
-b59f86b32ba40e90f104ba6aa9cbb683876b9853 examples/Java/ppworker.java
2f7baf7baed1713272d61725d94f3aa7859e47a1 examples/Go/mspoller.go
+b59f86b32ba40e90f104ba6aa9cbb683876b9853 examples/Java/ppworker.java
7377682230bfb1631480a93cd27cadacaeb4f1e3 examples/Python/psenvpub.py
-cf00f05adee687a45fa3c0bd1d1b90a7843f0070 images/fig63.html
b9ff6aeed1217c6d57d072f4a11ab336d3137eda images/fig26.txt
+cf00f05adee687a45fa3c0bd1d1b90a7843f0070 images/fig63.html
View
2 README.md
@@ -15,7 +15,7 @@ A ØMQ socket is what you get when you take a normal TCP socket, inject it with
License
-------
-The text of "ØMQ - The Guide" is copyright (c) 2010 Pieter Hintjens, and is licensed under the Creative Commons Attribution-Share Alike 3.0 License. The source code examples are licensed under MIT/X11 unless otherwise specified in the code. `z2w` is placed into the public domain.
+The text of "ØMQ - The Guide" is copyright (c) 2010 Pieter Hintjens, and is licensed under the Creative Commons Attribution-Share Alike 3.0 License. The source code examples are licensed under MIT/X11 unless otherwise specified in the code. The tools in bin are placed into the public domain.
<A name="toc2-40" title="Contributions" />
Contributions
View
2 README.txt
@@ -33,7 +33,7 @@ A 0MQ socket is what you get when you take a normal TCP socket, inject it with a
License
-------
-The text of "0MQ - The Guide" is copyright (c) 2009-2012 Pieter Hintjens, and is licensed under the Creative Commons Attribution-Share Alike 3.0 License. The source code examples are licensed under MIT/X11 unless otherwise specified in the code. `z2w` is placed into the public domain.
+The text of "0MQ - The Guide" is copyright (c) 2009-2012 Pieter Hintjens, and is licensed under the Creative Commons Attribution-Share Alike 3.0 License. The source code examples are licensed under MIT/X11 unless otherwise specified in the code. The tools in /bin are placed into the public domain.
Contributions
-------------
View
10 bin/INSTALL
@@ -0,0 +1,10 @@
+On Ubuntu, you need (at least) these packages:
+
+ epstool
+ pstoedit
+ pygmentize
+ imagemagick
+ ditaa
+ docbook2ps
+ ps2pdf
+ dbtoepub
View
2 bin/buildguide
@@ -34,7 +34,7 @@ function mkone {
echo "[[include $3:chapter7]]" >> all.wd
echo "[[include $3:chapter8]]" >> all.wd
echo "[[include $3:postface]]" >> all.wd
- bin/z2w preface.txt chapter*.txt postface.txt
+ bin/mkwikidot preface_web.txt chapter*.txt postface.txt
upload $3 preface "Preface"
upload $3 chapter1 "Chapter One"
upload $3 chapter2 "Chapter Two"
View
2 bin/buildpdfs
@@ -9,7 +9,7 @@ BOOK=zguide
function mkone {
export BOOK_LANG=$1
export BOOK_FORM=pdf
- bin/mkbook preface.txt chapter*.txt postface.txt
+ bin/mkdocbook preface_print.txt chapter*.txt postface.txt
# Produce and upload PDF
docbook2ps book.xml
View
275 bin/mkdocbook
@@ -1,15 +1,13 @@
#! /usr/bin/perl
#
-# mkbook - convert ZeroMQ document to DocBook format
-# - all images must already have been generated
+# mkdocbook
+# - convert ZeroMQ document to DocBook format
+# - all images must already have been generated by mkwikidot
#
-# Usage: bin/mkbook chapter*.txt; docbook2ps book.xml; ps2pdf book.ps
-#
-# Creates Wikidot file as specified by .output and images in images/.
+# Usage: bin/mkdocbook chapter*.txt; docbook2ps book.xml; ps2pdf book.ps
#
# By Pieter Hintjens, free for remixing without conditions.
#
-require 'sflcvdp.pl'; # SFL date picture formatting
use Digest::SHA1 qw(sha1_hex);
# Language for the examples
@@ -30,7 +28,7 @@ $cutoff = 60;
'PHP' => 'php',
'Python' => 'python' );
-# File extensions - copied from z2w
+# File extensions - copied from mkwikidot
%extension = ('Ada' => 'ada',
'Basic' => 'bas',
'C' => 'c',
@@ -62,9 +60,6 @@ $cutoff = 60;
signatures_load ();
bookmarks_load ();
-
-# When filtering, we drop text that we don't want in the printed book
-$filter = 0;
$have_parts = 0;
die "Can't create book.xml: $!"
@@ -94,7 +89,9 @@ else {
print OUTPUT "</bookinfo>\n";
}
+# Hardcoded dedication at this stage
start_block (1, "dedication");
+writeln ("<para>This book is dedicated to the 0MQ community.</para>\n");
while (<>) {
chop while /\s$/;
@@ -127,12 +124,6 @@ while (<>) {
elsif (/^\.bookmark\s+(\w.*)/) {
$anchor = $1;
}
- elsif (/^\.filter\s+(\w.*)/) {
- $filter = ($1 eq $format);
- }
- elsif (/^\.filter reset/) {
- $filter = 0;
- }
else {
print "Illegal directive $_ at line $.\n";
}
@@ -336,7 +327,9 @@ while (<>) {
# Convert diagram into image of required format
if (signature_changed ($filename)) {
print "Converting $filename to EPS image...\n";
- system ("java -jar bin/DitaaEps/DitaaEps.jar -s $scale $filename images/fig$figure.eps");
+ system ("java -jar bin/DitaaEps/DitaaEps.jar -s $scale $filename temp.eps");
+ system ("epstool --quiet --copy --bbox temp.eps images/fig$figure.eps");
+ system ("rm temp.eps");
signature_update ($filename);
}
writeln ("<figure id=\"figure-$figure\">");
@@ -413,23 +406,23 @@ sub writeln {
# Do once, since expand_symbols is recursive
s/&/&amp;/g;
$_ = expand_symbols ($_);
- print OUTPUT "$_\n" unless $filter;
+ print OUTPUT "$_\n";
}
sub writect {
local ($_) = @_;
# Do once, since expand_symbols is recursive
s/&/&amp;/g;
$_ = expand_symbols ($_);
- print OUTPUT "$_" unless $filter;
+ print OUTPUT "$_";
}
sub writesrc {
local ($_) = @_;
s/&/&amp;/g;
s/</&lt;/g;
s/>/&gt;/g;
- print OUTPUT "$_\n" unless $filter;
+ print OUTPUT "$_\n";
}
# Do smart curly quotes before we add any tags
@@ -549,14 +542,7 @@ sub bookmarks_save {
}
-#-- Symbol expansion code, taken from htmlpp
-
-# Recursively expand symbols like this (and in this order):
-#
-# $(xxx) - value of variable
-# $(xxx?zzz) - value of variable, or zzz if undefined
-# %(text?zzz) - value of environment variable, or zzz if undef
-# !abc(text) - intrinsic function with arguments
+# Expand symbols, hyperlinks, etc
#
sub expand_symbols {
local ($_) = @_;
@@ -567,8 +553,13 @@ sub expand_symbols {
return unless ($_); # Quit if input string is empty
+ # Replace 0MQs
$_ = zmq_symbol ($_);
+ # Recursively expand symbols like this (and in this order):
+ # $(xxx) value of variable
+ # $(xxx?zzz) value of variable, or zzz if undefined
+ # %(text?zzz) value of environment variable, or zzz if undef
for (;;) {
# Force expansion from end of string first, so things like
# $(xxx?$(yyy)) work properly.
@@ -594,32 +585,23 @@ sub expand_symbols {
elsif (/\%\(([^\)]+)\?([^)\$]*)\)/) {
$_ = $`.($ENV {$1}? $ENV {$1}: $2).$';
}
- # !abc(text)
- elsif (/\!([a-z_]+)\s*\(([^\)]*)\)/i) {
- $funct = $1;
- $args = $2;
- $before = $`;
- $after = $';
- $args =~ s/\\/\\\\/g;
- $args =~ s/#/"/g;
- $_ = eval ("&intrinsic_$funct ($args)");
- $_ = $before.$_.$after;
- if ($@) { # Syntax error in Perl statement?
- &error ("$funct is not a valid intrinsic function")
- unless $nofunc_mode;
- last;
- }
- }
- elsif (/zmq_([\w_]+)\[(.)\]/) {
- $_ = $`."zmq_$1()".$';
- }
- elsif (/\[\#([\w_-]+)\]/) {
- $_ = $`."$bookmarks{$1}<xref linkend=\"$1\"/>".$';
- }
else {
last;
}
}
+ # Translate bookmark references
+ while (/\[#(\S+)\]/) {
+ print "Undefined bookmark: $1\n"
+ unless defined ($bookmarks {$1});
+ $_ = $`."$bookmarks{$1}<xref linkend=\"$1\"/>".$';
+ }
+ # Translate figure references
+ local $nextfig = $figure + 1;
+ s/\[figure\]/<xref linkend="figure-$nextfig"\/>/g;
+
+ # Translate man page references
+ s/zmq_([\w_]+)\[.\]/zmq_$1()/g;
+
# Translate email addresses
s/\<([\w\.]+@[\w\.]+)\>/<email>$1<\/email>/g;
@@ -646,6 +628,7 @@ sub expand_symbols {
# that will do this properly...
s/Å/&Aring;/g;
s/É/&Eacute;/g;
+ s/é/&eacute;/g;
s/è/&egrave;/g;
s/ø/&oslash;/g;
s/ő/&ouml;/g;
@@ -681,197 +664,7 @@ sub valueof {
elsif (defined ($default)) {
return ($default);
}
- &error ("$_");
- &error ("($.) undefined symbol \"$symbol\"");
- $default_warning == 1 || do {
- &error ("I: Use \$($symbol?default) for default values.");
- $default_warning = 1;
- };
+ print ("E: undefined symbol \"$symbol\"");
$symbols {$symbol} = "UNDEF";
return $symbols {$symbol};
}
-
-
-# INTRINSIC FUNCTIONS
-#
-# figref() - Insert '(<xref linkend="figure-nnn"/>)'
-# time() - Format current time as hh:mm:ss
-# date() - Return current date value
-# date(#picture#) - Format current date using picture
-# date(#picture#, date, lc) - Format specified date using picture & language
-# week_day([date]) - Get day of week, 0=Sunday to 6=Saturday
-# year_week([date]) - Get week of year, 1 is first full week
-# julian_date([date]) - Get Julian date for date
-# lillian_date([date]) - Get Lillian date for date
-# date_to_days(date) - Convert yyyymmdd to Lillian date
-# days_to_date(days) - Convert Lillian date to yyyymmdd
-# future_date(days[,date]) - Calculate a future date
-# past_date(days[,date]) - Calculate a past date
-# date_diff(date1[,date2]) - Calculate date1 - date2
-# image_height(#image.ext#) - Get image height (GIF, JPEG)
-# image_width(#image.ext#) - Get image width (GIF, JPEG)
-# file_size(#filename#,arg) - Get size of file: optional arg K or M
-# file_date(#filename#) - Get date of file
-# file_time(#filename#) - Get time of file as hh:mm:ss
-# normalise(#filename#) - Normalise filename to UNIX format
-# system(#command#) - Call a system utility
-# lower(#string#) - Convert string to lower case
-# upper(#string#) - Convert string to upper case
-#
-
-sub intrinsic_figref {
- local $nextfig = $figure + 1;
- return "(<xref linkend=\"figure-$nextfig\"/>)";
-}
-
-sub intrinsic_date {
- local ($picture, $value, $language) = @_;
- $value = &date_now unless $value;
- $language = $symbols{LANG} unless $language;
- if ($picture) {
- return (&conv_date_pict ($value, $picture, $language));
- }
- else {
- return ($value);
- }
-}
-
-sub intrinsic_time {
- local ($sec, $min, $hour, $day, $month, $year) = localtime;
- return (sprintf ("%2d:%02d:%02d", $hour, $min, $sec));
-}
-
-sub intrinsic_week_day {
- return (&day_of_week ($_ [0]? $_ [0]: &date_now));
-}
-
-sub intrinsic_year_week {
- return (&week_of_year ($_ [0]? $_ [0]: &date_now));
-}
-
-sub intrinsic_julian_date {
- return (&julian_date ($_ [0]? $_ [0]: &date_now));
-}
-
-sub intrinsic_lillian_date {
- return (&date_to_days ($_ [0]? $_ [0]: &date_now));
-}
-
-sub intrinsic_date_to_days {
- return (&date_to_days ($_ [0]));
-}
-
-sub intrinsic_days_to_date {
- return (&days_to_date ($_ [0]));
-}
-
-sub intrinsic_future_date {
- local ($date) = &future_date ($_ [1], 0, $_ [0], 0);
- return ($date);
-}
-
-sub intrinsic_past_date {
- local ($date) = &past_date ($_ [1], 0, $_ [0], 0);
- return ($date);
-}
-
-sub intrinsic_date_diff {
- local ($date1, $date2) = @_;
- $date1 = &date_now unless $date1;
- $date2 = &date_now unless $date2;
- local ($days) = &date_diff ($date1, 0, $date2, 0);
- return ($days);
-}
-
-sub intrinsic_image_height {
- local ($filename) = @_;
- if (! -e $filename) {
- &error ("($.) file not found: \"$filename\"");
- }
- else {
- return (&image_height ($filename));
- }
-}
-
-sub intrinsic_image_width {
- local ($filename) = @_;
- if (! -e $filename) {
- &error ("($.) file not found: \"$filename\"");
- }
- else {
- return (&image_width ($filename));
- }
-}
-
-sub intrinsic_file_size {
- local ($filename, $arg) = @_;
- local ($size) = (stat ($filename)) [7];
-
- if (! -e $filename) {
- &error ("($.) file not found: \"$filename\"");
- }
- elsif ($arg eq "K") {
- $size /= 1024;
- }
- elsif ($arg eq "M") {
- $size /= 1048576;
- }
- return (int ($size));
-}
-
-sub intrinsic_file_date {
- local ($filename) = @_;
- if (! -e $filename) {
- &error ("($.) file not found: \"$filename\"");
- }
- else {
- local ($mtime) = (stat ($filename)) [9];
- local ($sec,$min,$hour,$mday,$mon,$year) = localtime ($mtime);
- return (($year + 1900) * 10000 + ($mon + 1) * 100 + $mday);
- }
-}
-
-sub intrinsic_file_time {
- local ($filename) = @_;
- if (! -e $filename) {
- &error ("($.) file not found: \"$filename\"");
- }
- else {
- local ($mtime) = (stat ($filename)) [9];
- local ($sec,$min,$hour,$mday,$mon,$year) = localtime ($mtime);
- return (sprintf ("%2d:%02d:%02d", $hour, $min, $sec));
- }
-}
-
-sub intrinsic_normalise {
- local ($_) = @_; # Get filename argument
- s/\\/\//g; # Replace DOS-style \ by /
- s/\s/_/g; # Replace white space by _
- return ($_);
-}
-
-sub intrinsic_system {
- local ($_) = `@_`;
-
- # Return all but the last character, which should be a newline
- chop;
- return ($_);
-}
-
-sub intrinsic_lower {
- local ($_) = @_; # Get filename argument
- tr/A-Z/a-z/;
- return ($_);
-}
-
-sub intrinsic_upper {
- local ($_) = @_; # Get filename argument
- tr/a-z/A-Z/;
- return ($_);
-}
-
-sub error {
- ($_) = @_; # Get argument
- print STDERR "E: $_\n";
- $have_errors = 1; # We have 1 or more errors
-}
View
272 bin/mkwikidot
@@ -1,22 +1,17 @@
#! /usr/bin/perl
-# z2w - convert ZeroMQ document to Wikidot format
+# mkwikidot
+# - convert ZeroMQ document to Wikidot format
# - converts [[code type="textdiagram"]] via ditaa
# - converts zmq_something(3) into URL to http://api.zeromq.org
#
-# Usage: z2w docfile
+# Usage: mkwikidot docfile
#
# Creates Wikidot file as specified by .output and images in images/.
#
-# Dependencies (Ubuntu 10.10 packages):
-# pygmentize
-# imagemagick (mogrify tool)
-# ditaa
-#
# By Pieter Hintjens, free for remixing without conditions.
# Images are stored in the github repository at
# https://github.com/imatix/zguide
#
-require 'sflcvdp.pl'; # SFL date picture formatting
use Digest::SHA1 qw(sha1_hex);
@languages = ('Ada', 'Basic', 'C', 'C++', 'C#', 'Clojure', 'CL', 'Delphi', 'Erlang',
@@ -66,9 +61,6 @@ $format = $ENV {'Z2W_FORM'} || "online";
signatures_load ();
bookmarks_load ();
-# When filtering, we drop text that we don't want online
-$filter = 0;
-
printf "Generating $source/$format version of Guide...\n";
# Inline action options
@@ -130,19 +122,10 @@ while (<>) {
elsif (/^\.prelude\s+(\w.*)/) {
$prelude = $1;
}
- elsif (/^\.inbook\s+(\w.*)/) {
- # Skip .inbook directive
- }
elsif (/^\.bookmark\s+(\w.*)/) {
writeln ("[[# $1]]");
$bookmark = $1;
}
- elsif (/^\.filter\s+(\w.*)/) {
- $filter = ($1 eq "online");
- }
- elsif (/^\.filter reset/) {
- $filter = 0;
- }
else {
print "Illegal directive $_ at line $.\n";
}
@@ -309,7 +292,7 @@ while (<>) {
writeln ($_);
}
}
-if ($format eq "online") {
+if ($format eq "online" && $examples) {
die "Can't create scoreboard.wd: $!"
unless open (SCOREBOARD, ">scoreboard.wd");
print (SCOREBOARD "||||||~ Translations ($examples in total)||\n");
@@ -333,12 +316,12 @@ exit (0);
sub writeln {
local ($_) = @_;
$_ = expand_symbols ($_);
- print OUTPUT "$_\n" unless $EOD or $filter;
+ print OUTPUT "$_\n" unless $EOD;
}
sub writesrc {
local ($_) = @_;
- print OUTPUT "$_\n" unless $EOD or $filter;
+ print OUTPUT "$_\n" unless $EOD;
}
# Process one example in one language
@@ -485,15 +468,7 @@ sub bookmarks_save {
}
-#-- Symbol expansion code, taken from htmlpp
-
-# Recursively expand symbols like this (and in this order):
-#
-# $(xxx) - value of variable
-# $(xxx?zzz) - value of variable, or zzz if undefined
-# %(text?zzz) - value of environment variable, or zzz if undef
-# !abc(text) - intrinsic function with arguments
-# zmq_zzz[n] - link to 0MQ reference manual page
+# Expand symbols, hyperlinks, etc
#
sub expand_symbols {
local ($_) = @_;
@@ -504,8 +479,13 @@ sub expand_symbols {
return unless ($_); # Quit if input string is empty
+ # Replace 0MQs
$_ = zmq_symbol ($_);
+ # Recursively expand symbols like this (and in this order):
+ # $(xxx) value of variable