blob: 77b22f8ece0af2f15ddef406d6ae12d0800a5e9a [file] [log] [blame]
---
layout: default
---
:source-highlighter: coderay
:icons: font
include::banner.adoc[]
== Pair (Two Way Radio)
image::pair.png[Two Way Radio]
The pair pattern is used when there a one-to-one peer relationship.
Only one peer may be connected to another peer at a time, but both
may speak freely.
.pair.c
[source,c]
----
include::src/pair.c[]
----
<1> Blithely assumes message is ASCIIZ string. Real code should check it.
.Compilation
[source,bash]
----
gcc pair.c -lnanomsg -o pair
----
.Execution
[source,bash]
----
./pair node0 ipc:///tmp/pair.ipc & node0=$!
./pair node1 ipc:///tmp/pair.ipc & node1=$!
sleep 3
kill $node0 $node1
----
.Output
----
node0: SENDING "node0"
node1: SENDING "node1"
node1: RECEIVED"node0"
node0: SENDING "node0"
node0: RECEIVED"node1"
----