-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathsudbury_architecture.gv
79 lines (59 loc) · 1.59 KB
/
sudbury_architecture.gv
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
digraph arch_wayland {
edge[
fontname="DejaVu Sans",
dir="both",
arrowtail="dot",
arrowsize=.5,
fontname="DejaVu Sans",
fontsize="18",
]
node[
color=none,
fontname="DejaVu Sans",
fontsize="18",
shape=box,
style="rounded,filled",
fillcolor="#ffbc00"
]
newrank=true
subgraph cluster_app1 {
label="Wayland application"
egl_h [label="libEGL.so"]
user_h [label="Haskell user code"]
user_c [label="C user code"]
{ rank=same; user_h, user_c, egl_h }
user_h -> user_c [style=dotted, arrowtail=normal]
front_h [label=<sudbury<BR/>Haskell library<BR/>front-end>]
front_c [label=<sudbury<BR/>libwayland-client.so<BR/>libwayland-server.so>]
{ rank=same; front_h, front_c }
user_h -> front_h
front_h -> user_h
user_c -> front_c
front_c -> user_c
front_c -> egl_h
egl_h -> front_c
core [label="Core sudbury"]
{front_h, front_c} -> core
core -> {front_h, front_c}
}
subgraph cluster_app2 {
label="Wayland application"
user_c2 [label="C user code"]
egl_c [label="libEGL.so"]
libwl [label=<freedesktop.org<BR/>libwayland-client.so<BR/>libwayland-server.so>]
egl_c -> libwl
libwl -> egl_c
user_c2 -> libwl
libwl -> user_c2
}
{ rank=min; user_c2, user_c }
{ rank=same; libwl, core }
core -> libwl [style=dotted, arrowtail=normal, label="IPC socket"]
subgraph cluster_os {
label="OS"
ram [shape=record, label=<shared memory buffers<BR/>and devices>]
}
ram -> {core, libwl}
ram -> libwl [style=invis, label=" "]
{core, libwl} -> ram
}