mirror of
https://github.com/falk-werner/webfuse
synced 2024-10-27 20:34:10 +00:00
replaces ASCII art by UML diagram
This commit is contained in:
parent
c68106f87d
commit
f7d47fcc45
29
README.md
29
README.md
@ -33,34 +33,7 @@ webfuse solves this problem by using the [WebSocket](https://en.wikipedia.org/wi
|
|||||||
|
|
||||||
## Concept
|
## Concept
|
||||||
|
|
||||||
+---------------------+ +-------------+ +------+
|

|
||||||
| Filesystem Provider | | webfuse | | user |
|
|
||||||
| (e.g. Webbrowser) | | daemon | | |
|
|
||||||
+----------+----------+ +------+------+ +---+--+
|
|
||||||
| | |
|
|
||||||
| +-+-+ |
|
|
||||||
| | +--+ |
|
|
||||||
| | | | fuse_mount |
|
|
||||||
| | +<-+ |
|
|
||||||
| | | |
|
|
||||||
| | +--+ |
|
|
||||||
| | | | start ws |
|
|
||||||
| | +<-+ |
|
|
||||||
| +-+-+ |
|
|
||||||
| | |
|
|
||||||
+-+-+ connect +-+-+ |
|
|
||||||
| |--------------->| | |
|
|
||||||
+-+-+ +-+-+ |
|
|
||||||
| | |
|
|
||||||
| +-+-+ ls +-+-+
|
|
||||||
+-+-+ readdir | |<------------+ |
|
|
||||||
| |<---------------+ | | |
|
|
||||||
| | | | | |
|
|
||||||
| | readdir_resp | | | |
|
|
||||||
| +--------------->| | [., ..] | |
|
|
||||||
+-+-+ | +------------>| |
|
|
||||||
| +-+-+ +-+-+
|
|
||||||
| | |
|
|
||||||
|
|
||||||
With webfuse it is possible to implement remote filesystems based on websockets.
|
With webfuse it is possible to implement remote filesystems based on websockets.
|
||||||
A reference implementation of such a daemon is provided within the examples. The picture above describes the workflow:
|
A reference implementation of such a daemon is provided within the examples. The picture above describes the workflow:
|
||||||
|
BIN
doc/concept.png
Normal file
BIN
doc/concept.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
30
doc/concept.uml
Normal file
30
doc/concept.uml
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
@startuml
|
||||||
|
participant "Filesystem Provider\n(e.g. Webbrowser)" as provider
|
||||||
|
participant "webfuse\ndaemon" as daemon
|
||||||
|
actor "user" as user
|
||||||
|
|
||||||
|
group startup
|
||||||
|
daemon -> daemon : fuse_mount
|
||||||
|
daemon -> daemon : start ws
|
||||||
|
end
|
||||||
|
...
|
||||||
|
|
||||||
|
group connect
|
||||||
|
provider -> daemon : connect
|
||||||
|
opt authentication
|
||||||
|
provider -> daemon: authenticate
|
||||||
|
daemon -> daemon: check credentials
|
||||||
|
daemon --> provider: okay
|
||||||
|
end
|
||||||
|
end
|
||||||
|
...
|
||||||
|
|
||||||
|
group directory listing
|
||||||
|
user -> daemon : ls
|
||||||
|
daemon -> provider : readdir
|
||||||
|
provider --> daemon : readdir_resp
|
||||||
|
daemon --> user : "[., ..]"
|
||||||
|
end
|
||||||
|
...
|
||||||
|
|
||||||
|
@enduml
|
Loading…
Reference in New Issue
Block a user