summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/asio/src/doc/overview/async_op2.dot
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/asio/src/doc/overview/async_op2.dot')
-rw-r--r--3rdparty/asio/src/doc/overview/async_op2.dot78
1 files changed, 78 insertions, 0 deletions
diff --git a/3rdparty/asio/src/doc/overview/async_op2.dot b/3rdparty/asio/src/doc/overview/async_op2.dot
new file mode 100644
index 00000000000..60a3275c391
--- /dev/null
+++ b/3rdparty/asio/src/doc/overview/async_op2.dot
@@ -0,0 +1,78 @@
+digraph g
+{
+ graph
+ [
+ nodesep="0.2"
+ ];
+
+ 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" ];
+ your_completion_handler [ label="Your Completion Handler" ];
+ }
+
+ // Owning relationships.
+ {
+ edge [ arrowtail="diamond" ];
+ your_program:e -> your_completion_handler:n;
+ your_program:w -> io_object:nw;
+ your_program:se -> io_context:ne;
+ }
+
+ // Non-owning relationships;
+ {
+ io_object:sw -> io_context:w;
+ }
+
+ // Visible actions.
+ {
+ edge [ style="dashed", color="#808080" ];
+
+ // Forward actions.
+ {
+ your_program:s -> io_context:n [ label="5" ];
+ }
+
+ // Reverse actions.
+ {
+ edge [ arrowhead="none", arrowtail="open" ];
+ io_context:s -> operating_system:n [ label="4" ];
+ your_completion_handler:s -> io_context:e [ label="6" ];
+ }
+ }
+
+ // Invisible actions.
+ {
+ edge [ style="invis" ];
+
+ // Forward actions.
+ {
+ your_program:sw -> io_object:n [ label="1" ];
+ io_object:s -> io_context:nw [ label="2" ];
+ //io_context:s -> operating_system:n [ label="3" ];
+ }
+ }
+}