123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- 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:sw -> io_object:n [ label="1" ];
- io_object:s -> io_context:nw [ label="2" ];
- io_context:s -> operating_system:n [ label="3" ];
- }
- }
- // Invisible actions.
- {
- edge [ style="invis" ];
- // 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" ];
- }
- }
- }
|