1.1 --- a/docs/wiki/Filesystem_Access Mon Nov 21 01:19:48 2022 +0100
1.2 +++ b/docs/wiki/Filesystem_Access Thu Dec 01 17:55:12 2022 +0100
1.3 @@ -18,10 +18,17 @@
1.4 subgraph {
1.5 rank=same;
1.6
1.7 - Opener_note [shape=note,style=filled,fillcolor=gold,label="Exposes\nfile open\noperation"];
1.8 + Filesystem_note [shape=note,style=filled,fillcolor=gold,label="Configures opener\ncomponents"];
1.9 + Filesystem;
1.10 +
1.11 + Filesystem_note -> Filesystem [dir=none,style=dotted];
1.12 +
1.13 + open_for_user [fontsize="10.0",shape=ellipse];
1.14 +
1.15 Opener;
1.16 + Opener_note [shape=note,style=filled,fillcolor=gold,label="Exposes\nfile open\noperation"];
1.17
1.18 - Opener_note -> Opener [dir=none,style=dotted];
1.19 + Opener -> Opener_note [dir=none,style=dotted];
1.20 }
1.21
1.22 subgraph {
1.23 @@ -79,6 +86,11 @@
1.24 Accessor_note -> Accessor [dir=none,style=dotted];
1.25 }
1.26
1.27 + /* Configuring an opener. */
1.28 +
1.29 + Filesystem -> open_for_user [dir=none];
1.30 + open_for_user -> Opener;
1.31 +
1.32 /* Opening a file. */
1.33
1.34 Opener -> ResourceRegistry -> Resource;
1.35 @@ -99,6 +111,9 @@
1.36
1.37 ########
1.38
1.39 +Firstly, an `Opener` must be obtained from a `Filesystem`, this configuring
1.40 +the `Opener` for a particular user identity.
1.41 +
1.42 An `Opener` requests a `Resource` from a `ResourceRegistry`, each `Resource`
1.43 acting as a [[ServerLibrary#Pager|`Pager`]] and providing the actual access
1.44 mechanism to file content for a particular program. Since many programs may
1.45 @@ -518,6 +533,7 @@
1.46 ResourceServer -> Resource [label="close"];
1.47 Resource -> Provider [label="notify_others\nunsubscribe"];
1.48 Resource -> ProviderRegistry [label="detach"];
1.49 + ProviderRegistry -> Provider [label="detach\ndelete"];
1.50 }
1.51 }}}
1.52