Skip to content

Commit

Permalink
Rebuilt whole Guide
Browse files Browse the repository at this point in the history
  • Loading branch information
hintjens committed Oct 9, 2013
1 parent bba76fe commit 743521f
Show file tree
Hide file tree
Showing 194 changed files with 26,439 additions and 129,361 deletions.
98 changes: 50 additions & 48 deletions .bookmarks
@@ -1,46 +1,47 @@
Cooperative-Discovery-Using-UDP-Broadcasts Cooperative Discovery Using UDP Broadcasts
Binary-Star-Implementation Binary Star Implementation
Architecture-of-the-MQ-Community Architecture of the 0MQ Community
Binary-Star-Implementation Binary Star Implementation
Cooperative-Discovery-Using-UDP-Broadcasts Cooperative Discovery Using UDP Broadcasts
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
Republishing-Updates-from-Clients Republishing Updates from Clients
Vadim-Shalts-s-Story Vadim Shalts's Story
Writing-the-Unprotocol Writing the Unprotocol
Service-Oriented-Reliable-Queuing-Majordomo-Pattern Service-Oriented Reliable Queuing (Majordomo Pattern)
Vadim-Shalts-s-Story Vadim Shalts's Story
Republishing-Updates-from-Clients Republishing Updates from Clients
the-community Chapter 6 - The 0MQ Community
ROUTER-Broker-and-DEALER-Workers ROUTER Broker and DEALER Workers
Goals Goals
Service-Oriented-Reliable-Queuing-Majordomo-Pattern Service-Oriented Reliable Queuing (Majordomo Pattern)
Preemptive-Discovery-over-Raw-Sockets Preemptive Discovery over Raw Sockets
Messaging-Patterns Messaging Patterns
Crazy-Beautiful-and-Easy Crazy, Beautiful, and Easy
Goals Goals
ROUTER-Broker-and-DEALER-Workers ROUTER Broker and DEALER Workers
The-Importance-of-Contracts The Importance of Contracts
Symbolic-Links Symbolic Links
Divide-and-Conquer Divide and Conquer
Crazy-Beautiful-and-Easy Crazy, Beautiful, and Easy
Messaging-Patterns Messaging Patterns
Step-Draw-a-Rough-Architecture Step 2: Draw a Rough Architecture
Divide-and-Conquer Divide and Conquer
Group-Messaging Group Messaging
A-Minor-Note-on-Strings A Minor Note on Strings
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
Point-to-Point-Messaging Point-to-Point Messaging
ROUTER-Broker-and-REQ-Workers ROUTER Broker and REQ Workers
advanced-architecture Chapter 7 - Advanced Architecture using 0MQ
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
-MQ-is-Not-a-Neutral-Carrier 0MQ is Not a Neutral Carrier
Large-Scale-File-Publishing-FileMQ Large-Scale File Publishing: FileMQ
Upfront-Coordination Upfront Coordination
Large-Scale-File-Publishing-FileMQ Large-Scale File Publishing: FileMQ
Chapter-A-Framework-for-Distributed-Computing Chapter 8 - A Framework for Distributed Computing
Protocols-Without-The-Goats Protocols Without The Goats
Why-We-Needed-MQ Why We Needed 0MQ
The-Zen-of-Zero The Zen of Zero
Why-We-Needed-MQ Why We Needed 0MQ
Protocols-Without-The-Goats Protocols Without The Goats
Tom-van-Leeuwen-s-Story Tom van Leeuwen's Story
A-Plausible-Minimal-Implementation A Plausible Minimal Implementation
Using-Sockets-to-Carry-Data Using Sockets to Carry Data
Chapter-Reliable-Request-Reply-Patterns Chapter 4 - Reliable Request-Reply Patterns
Slow-Subscriber-Detection-Suicidal-Snail-Pattern Slow Subscriber Detection (Suicidal Snail Pattern)
Configuration Configuration
Slow-Subscriber-Detection-Suicidal-Snail-Pattern Slow Subscriber Detection (Suicidal Snail Pattern)
How-the-Guide-Happened How the Guide Happened
Working-with-Messages Working with Messages
Heartbeating Heartbeating
Expand All @@ -64,16 +65,16 @@ A-Real-Life-Example A Real-Life Example
The-Clustered-Hashmap-Protocol The Clustered Hashmap Protocol
Features-of-a-Higher-Level-API Features of a Higher-Level API
Getting-the-Message-Out Getting the Message Out
The-Secret-Life-of-WiFi The Secret Life of WiFi
Conclusions Conclusions
The-Secret-Life-of-WiFi The Secret Life of WiFi
The-Tale-of-Two-Bridges The Tale of Two Bridges
Invalid-Combinations Invalid Combinations
Ephemeral-Values Ephemeral Values
Pub-Sub-Message-Envelopes Pub-Sub Message Envelopes
Step-Decide-on-the-Contracts Step 3: Decide on the Contracts
Tracing-Activity Tracing Activity
Language Language
Simplicity-vs-Complexity Simplicity vs. Complexity
Language Language
Starting-Assumptions Starting Assumptions
reliable-request-reply Chapter 4 - Reliable Request-Reply Patterns
Idempotent-Services Idempotent Services
Expand Down Expand Up @@ -122,38 +123,39 @@ Federation-vs-Peering Federation vs. Peering
Why-use-the-GPLv-for-Public-Specifications Why use the GPLv3 for Public Specifications?
The-Mindful-General The Mindful General
The-Pirate-Gang The Pirate Gang
Eat-Me Eat Me
A-Self-Healing-P-P-Network-in-Seconds A Self-Healing P2P Network in 30 Seconds
Shrugging-It-Off Shrugging It Off
Part-Software-Engineering-using-MQ Part 2 - Software Engineering using 0MQ
High-availability-Pair-Binary-Star-Pattern High-availability Pair (Binary Star Pattern)
The-Request-Reply-Mechanisms The Request-Reply Mechanisms
Spinning-off-a-Library-Project Spinning off a Library Project
Pros-and-Cons-of-Pub-Sub Pros and Cons of Pub-Sub
Multithreading-with-MQ Multithreading with 0MQ
Plugging-Sockets-Into-the-Topology Plugging Sockets Into the Topology
On-Up-front-Testing On Up-front Testing
Multithreading-with-MQ Multithreading with 0MQ
Pros-and-Cons-of-Pub-Sub Pros and Cons of Pub-Sub
Trash-Oriented-Design Trash-Oriented Design
On-Up-front-Testing On Up-front Testing
Missing-Message-Problem-Solver Missing Message Problem Solver
Client-side-Reliability-Lazy-Pirate-Pattern Client-side Reliability (Lazy Pirate Pattern)
Incompatible-Changes Incompatible Changes
Hand-written-Binary-Serialization Hand-written Binary Serialization
Incompatible-Changes Incompatible Changes
File-Stability File Stability
Federation-Versus-Peering Federation Versus Peering
Programming-with-MQ Programming with 0MQ
Step-Internalize-the-Semantics Step 1: Internalize the Semantics
Contracts-Are-Hard Contracts Are Hard
The-Constant-Gardener The Constant Gardener
Robustness-in-Conflict Robustness in Conflict
Unprotocols Unprotocols
Contracts-Are-Hard Contracts Are Hard
Representing-State-as-Key-Value-Pairs Representing State as Key-Value Pairs
Up-front-Coordination Up-front Coordination
Unprotocols Unprotocols
Robustness-in-Conflict Robustness in Conflict
Exploring-ROUTER-Sockets Exploring ROUTER Sockets
Up-front-Coordination Up-front Coordination
Reliable-Pub-Sub-Clone-Pattern Reliable Pub-Sub (Clone Pattern)
How-MQ-Lost-its-Road-map How 0MQ Lost its Road-map
Chapter-Advanced-Publish-Subscribe-Patterns Chapter 5 - Advanced Publish-Subscribe Patterns
Transport-Bridging Transport Bridging
The-DEALER-to-REP-Combination The DEALER to REP Combination
Chapter-Advanced-Publish-Subscribe-Patterns Chapter 5 - Advanced Publish-Subscribe Patterns
Delivery-Notifications Delivery Notifications
The-DEALER-to-REP-Combination The DEALER to REP Combination
The-Benevolent-Tyrant The Benevolent Tyrant
Cost-of-Failure Cost of Failure
Identities-and-Addresses Identities and Addresses
Expand Down Expand Up @@ -210,7 +212,7 @@ Model-One-Simple-Retry-and-Failover Model One: Simple Retry and Failover
The-Earth-and-Sky The Earth and Sky
The-Use-Case The Use Case
Care-and-Feeding Care and Feeding
Simplicity-Oriented-Design Simplicity-Oriented Design
Simplicity-Oriented-Design Simplicity Oriented Design
Getting-the-Context-Right Getting the Context Right
Handling-Multiple-Sockets Handling Multiple Sockets
-MQ-in-a-Hundred-Words 0MQ in a Hundred Words
Expand Down Expand Up @@ -256,43 +258,43 @@ The-Simple-Reply-Envelope The Simple Reply Envelope
The-Laughing-Clown The Laughing Clown
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
Robust-Reliable-Queuing-Paranoid-Pirate-Pattern Robust Reliable Queuing (Paranoid Pirate Pattern)
sockets-and-patterns Chapter 2 - Sockets and Patterns
The-Extended-Reply-Envelope The Extended Reply Envelope
How-It-Began How It Began
Handling-Errors-and-ETERM Handling Errors and ETERM
Signaling-Between-Threads-PAIR-Sockets Signaling Between Threads (PAIR Sockets)
Unicast-Transports Unicast Transports
True-Peer-Connectivity-Harmony-Pattern True Peer Connectivity (Harmony Pattern)
Unicast-Transports Unicast Transports
Establishing-the-Details Establishing the Details
ROUTER-Error-Handling ROUTER Error Handling
Psychology-of-Software-Architecture Psychology of Software Architecture
Scalability Scalability
Initial-Design-Cut-the-Protocol Initial Design Cut: the Protocol
Getting-an-Out-of-Band-Snapshot Getting an Out-of-Band Snapshot
Worked-Example-Inter-Broker-Routing Worked Example: Inter-Broker Routing
Removing-Friction Removing Friction
Getting-an-Out-of-Band-Snapshot Getting an Out-of-Band Snapshot
-MQ-s-Built-in-Proxy-Function 0MQ's Built-in Proxy Function
Removing-Friction Removing Friction
Patch-Requirements Patch Requirements
More-About-UDP More About UDP
Large-scale-File-Publishing-FileMQ Large-scale File Publishing - FileMQ
Detecting-Memory-Leaks Detecting Memory Leaks
The-Dynamic-Discovery-Problem The Dynamic Discovery Problem
The-Zyre-Tester The Zyre Tester
The-Dynamic-Discovery-Problem The Dynamic Discovery Problem
How-to-Write-Unprotocols How to Write Unprotocols
Centralized-Versus-Decentralized Centralized Versus Decentralized
Chapter-Basics Chapter 1 - Basics
Getting-the-Examples Getting the Examples
Centralized-Versus-Decentralized Centralized Versus Decentralized
Some-Physics Some Physics
Getting-the-Examples Getting the Examples
Building-a-Multithreaded-Stack-and-API Building a Multithreaded Stack and API
Simplicity-Versus-Complexity Simplicity Versus Complexity
Recap-of-Request-Reply-Sockets Recap of Request-Reply Sockets
Message-Oriented-Pattern-for-Elastic-Design Message-Oriented Pattern for Elastic Design
Dealing-with-Blocked-Peers Dealing with Blocked Peers
Recap-of-Request-Reply-Sockets Recap of Request-Reply Sockets
Simplicity-Versus-Complexity Simplicity Versus Complexity
Guarantees-of-Isolation Guarantees of Isolation
High-Level-Messaging-Patterns High-Level Messaging Patterns
Dealing-with-Blocked-Peers Dealing with Blocked Peers
Public-API Public API
High-Level-Messaging-Patterns High-Level Messaging Patterns
Designing-for-Innovation Designing for Innovation
Why-Mesh-Isn-t-Here-Yet Why Mesh Isn't Here Yet
Using-a-Reactor Using a Reactor
Expand All @@ -302,21 +304,21 @@ Architecture-of-a-Single-Cluster Architecture of a Single Cluster
Audience Audience
Model-Three-Complex-and-Nasty Model Three: Complex and Nasty
Development-Process Development Process
The-Rolling-Stone The Rolling Stone
Infinite-Property Infinite Property
The-Rolling-Stone The Rolling Stone
Example-Zyre-Application Example Zyre Application
Postface Postface
Making-a-Detour Making a Detour
State-Machines State Machines
Complexity-Oriented-Design Complexity-Oriented Design
More-about-UDP More about UDP
State-Machines State Machines
Multiple-Nodes-on-One-Device Multiple Nodes on One Device
More-about-UDP More about UDP
Handwritten-Binary-Serialization Handwritten Binary Serialization
Intermediaries-and-Proxies Intermediaries and Proxies
Reliable-Publish-Subscribe-Clone-Pattern Reliable Publish-Subscribe (Clone Pattern)
Evolution-of-Public-Contracts Evolution of Public Contracts
The-Process The Process
Rob-Gagnon-s-Story Rob Gagnon's Story
Evolution-of-Public-Contracts Evolution of Public Contracts
Compatible-Changes Compatible Changes
Code-Generation Code Generation
Rob-Gagnon-s-Story Rob Gagnon's Story
Handling-Interrupt-Signals Handling Interrupt Signals
Code-Generation Code Generation
16 changes: 8 additions & 8 deletions .cache_hx
@@ -1,11 +1,11 @@
c5c3b37b6dbed1f8974d788182f886ff939171cf all.wd
2f90fb81a25990ac41f8fedfc5e05d76efec5055 preface.wd
eb655e0e32baaa61ebf0fa2251e0e964aff29d74 chapter1.wd
e90aa12d00f786e9a858a96895919ede7eb3cafd chapter2.wd
e159ba4796daca946b1241ebeaed61bb466e6aa3 chapter3.wd
73fbc396b8ba9d69db827325b142fc71a965e18f chapter4.wd
fcea572acad5f31a47dd3b16d133bca2ed8f851f chapter5.wd
4791d51e974157ae5679465797c492080a3336e6 chapter6.wd
1d31f27720cf825570c5a90e195b09c04b2e5e49 chapter7.wd
2e89a08dc8287ae8d45ed8144b671262169a19c6 chapter8.wd
74d9c9e20bb0ab536f0c19d84be628bbe097343d postface.wd
0c14e30acb7c5e21ff30c47bf2b3e18fa1b4363e chapter1.wd
4a164af09ccfc82c5613d2ef8a527d99b3477b83 chapter3.wd
017b3c0ef64a60dc3f25f19ce4ebdbecdaac33d2 chapter4.wd
058358a46fa37778139beb1d9c527c8aad627e27 chapter5.wd
3844ea03ab127e24b0ecd3c06ed9d148c673ec30 chapter6.wd
7b08fd598eaf5583b40bc29d0dce71a9d0b72556 chapter7.wd
8aa115520c37091970aa27b75f319637d46356a6 chapter8.wd
6eea8920aab89820f0c1e24de43442fbdd52a4bc postface.wd
16 changes: 8 additions & 8 deletions .cache_lua
@@ -1,11 +1,11 @@
60456bf61f72f010982487fc0e2f6da6d8fcbdfd all.wd
2f90fb81a25990ac41f8fedfc5e05d76efec5055 preface.wd
73020afb437498932d5fc891b6891cc40cc020b8 chapter1.wd
e77cd1eb786de80ff0754b7682fa991ff56a2cdf chapter2.wd
23e07a6c63ecba765cd2ff551dcc2b6be1872946 chapter3.wd
8d6069ae4107e6ad6f2525259359f291448e375f chapter4.wd
19d7d5a08a875660625d58ea1d0b2a52e1147760 chapter5.wd
4791d51e974157ae5679465797c492080a3336e6 chapter6.wd
880eb055a4e9bf9cbe242f26ed1780b4341f77da chapter7.wd
1cfc7f079b8cb028d8d8479b9f0ee645ecc9c453 chapter8.wd
74d9c9e20bb0ab536f0c19d84be628bbe097343d postface.wd
b1a9587423406b61f4c2bfdc092acaaa0a0d8ef0 chapter1.wd
65ede6f566e95a9fd2436ab5867e5e2c1552dd86 chapter3.wd
86ec8947b182d8cf153759e63ddc8f76106e1eb0 chapter4.wd
d1cba2ee5f6e716fdb1bcf0e05a51337fc3f29a8 chapter5.wd
3844ea03ab127e24b0ecd3c06ed9d148c673ec30 chapter6.wd
4221c3667d16bfe2becd02781b87317c34c93e67 chapter7.wd
3338e013745163c723f47d3a1fd71df1f713fdcb chapter8.wd
6eea8920aab89820f0c1e24de43442fbdd52a4bc postface.wd
2 changes: 1 addition & 1 deletion .cache_main
@@ -1 +1 @@
948abb8056973048f8fe57b67fe82201cc5d30d9 scoreboard.wd
d622c78ef457a6b799ff448919bdf3386144d6e9 scoreboard.wd
16 changes: 8 additions & 8 deletions .cache_page
@@ -1,11 +1,11 @@
43c0dfa50dd8c2ac4c6bd2b10fbb2924aa0adfb6 all.wd
2f90fb81a25990ac41f8fedfc5e05d76efec5055 preface.wd
05c74bb7677d5734360e94d34e5e9dbd6634df92 chapter1.wd
99dba7177425c28fd604103c39c03fb0e75dc175 chapter3.wd
e128a7b4078826026f8d9c6cd3c8fdbfc3d7c7a6 chapter4.wd
0aa31be1a399131cd322f4632a0890d6c7ce9ff3 chapter5.wd
3844ea03ab127e24b0ecd3c06ed9d148c673ec30 chapter6.wd
f6378e79719c13d00dc230166e9d6a934540587c chapter7.wd
66c5d6e2bcfda5c78207802bf740aec10d2430ea chapter8.wd
6eea8920aab89820f0c1e24de43442fbdd52a4bc postface.wd
21dd06b5707eac26e15fd346aca496feee4168e6 chapter1.wd
8bba4ab4e717ad8b6745bb7760733eaa30c95b7b chapter2.wd
af119b00302c653f0875ee589f5832c7eab5e6dc chapter3.wd
fb13459d45967617ed7af1d86e2bd8f2a3f79a12 chapter4.wd
4cd472dcfb4ef34c767560e7ebdb1260e6d5fbc1 chapter5.wd
4791d51e974157ae5679465797c492080a3336e6 chapter6.wd
32f87885d0c2995dc811c2222ef167cdaff351f0 chapter7.wd
e02e8010f96f303771af88f4847cd1d4266e4ddd chapter8.wd
74d9c9e20bb0ab536f0c19d84be628bbe097343d postface.wd
16 changes: 8 additions & 8 deletions .cache_php
@@ -1,11 +1,11 @@
84556de2857c949e1f80be42c499e6a4482a4c2d all.wd
2f90fb81a25990ac41f8fedfc5e05d76efec5055 preface.wd
f96b978c7fda097fced5f1ae70bb51e8ac55f989 chapter1.wd
71c2e4225a739d64cac53deee10c60d05041e7d4 chapter2.wd
8a81e162991b0d0c159918e06aa7473635cb7415 chapter3.wd
ed65c3990f14dee8f1c0df58f3a92618e13c43a6 chapter4.wd
c2e6a0dc606696869a289301da9387cad46ab986 chapter5.wd
4791d51e974157ae5679465797c492080a3336e6 chapter6.wd
772a82ca0e096be3163df1442c2d1c0950ed1040 chapter7.wd
24c88f962cf026abf353ef242e452787ba87a4c9 chapter8.wd
74d9c9e20bb0ab536f0c19d84be628bbe097343d postface.wd
aac3ba00f17b6ba4d70ed80cc30faf55bef4be17 chapter1.wd
21d6d3b4f95b36b2c35b26059dc0a9bb9f7f5bfe chapter3.wd
b08941529163f2b06c253e9208a2d1d517bbaa02 chapter4.wd
5ad64c717ead511755034ffe5240e0a890ad12d5 chapter5.wd
3844ea03ab127e24b0ecd3c06ed9d148c673ec30 chapter6.wd
af79158483dbb79c3ea44a45f2aa818b0b1287f1 chapter7.wd
b4b53e984fad2b9d0d63c1816d4dca85aac3e84d chapter8.wd
6eea8920aab89820f0c1e24de43442fbdd52a4bc postface.wd
16 changes: 8 additions & 8 deletions .cache_py
@@ -1,11 +1,11 @@
1ed1f82517a1901947eb9e824ff2e9f2e9eb09a3 all.wd
2f90fb81a25990ac41f8fedfc5e05d76efec5055 preface.wd
2f317542aa5be8c716360c78fcff542252c0c3e6 chapter1.wd
f7fa3c3cae35493c9121786a38c5d269f8b26a73 chapter2.wd
b48ff174c21f0ce09fceb7eb408cad06f3085a4b chapter3.wd
dd53bef5df9d9ef417b099e2989a27fcb7d1a01f chapter4.wd
b7e3acdd687107c82cbe99cc8e1121d7934edcd2 chapter5.wd
4791d51e974157ae5679465797c492080a3336e6 chapter6.wd
7ae01ec19ed374fb9cbaed9a5a1e4ed565d47a58 chapter7.wd
ad4ca6d94de5ce3eb5788314aa756a4547204f5d chapter8.wd
74d9c9e20bb0ab536f0c19d84be628bbe097343d postface.wd
f4dba56c7cfc0919a333c4ea4b277b4f141190bb chapter1.wd
922e7accac6484922a7d7d8c9f3ccc41b2234bcd chapter3.wd
fd004bce41c211064d947c5318005536d0acfe70 chapter4.wd
f9b13cb90a7de5811d920fa27a0b169efe82556a chapter5.wd
3844ea03ab127e24b0ecd3c06ed9d148c673ec30 chapter6.wd
c7be8826059a2f892d673a90aed3a494ff3220e2 chapter7.wd
ed3d1bd1657fb19222c85aba3104f4d00d5ee9f6 chapter8.wd
6eea8920aab89820f0c1e24de43442fbdd52a4bc postface.wd

0 comments on commit 743521f

Please sign in to comment.