summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/asio/src/doc/overview/sync_op.dot
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/asio/src/doc/overview/sync_op.dot')
-rw-r--r--3rdparty/asio/src/doc/overview/sync_op.dot67
1 files changed, 67 insertions, 0 deletions
diff --git a/3rdparty/asio/src/doc/overview/sync_op.dot b/3rdparty/asio/src/doc/overview/sync_op.dot
new file mode 100644
index 00000000000..f3eb4dd4008
--- /dev/null
+++ b/3rdparty/asio/src/doc/overview/sync_op.dot
@@ -0,0 +1,67 @@
+digraph g
+{
+ graph
+ [
+ nodesep="0.6"
+ ];
+
+ edge
+ [
+ fontname="Helvetica",
+ fontsize=10,
+ labelfontname="Helvetica",
+ labelfontsize=10
+ ];
+
+ node
+ [
+ fontname="Helvetica",
+ fontsize=10,
+ shape=box
+ ];
+
+ edge
+ [
+ arrowhead="open"
+ ]
+
+ // Program elements.
+ {
+ operating_system [ label="Operating System", shape=ellipse ];
+ io_context [ label="io_context" ];
+ io_object [ label="I/O Object\ne.g. socket" ];
+ your_program [ label="Your Program" ];
+ }
+
+ // Owning relationships.
+ {
+ edge [ arrowtail="diamond" ];
+ your_program:w -> io_object:nw;
+ your_program:se -> io_context:ne;
+ }
+
+ // Non-owning relationships;
+ {
+ io_object:sw -> io_context:w;
+ }
+
+ // Actions.
+ {
+ edge [ style="dashed", color="#808080" ];
+
+ // Forward actions.
+ {
+ your_program:sw -> io_object:n [ label="1" ];
+ io_object:s -> io_context:nw [ label="2" ];
+ io_context:sw -> operating_system:nw [ label="3" ];
+ }
+
+ // Reverse actions.
+ {
+ edge [ arrowhead="none", arrowtail="open" ];
+ io_context:se -> operating_system:ne [ label="4" ];
+ io_object:se -> io_context:n [ label="5" ];
+ your_program:s -> io_object:ne [ label="6" ];
+ }
+ }
+}