summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzul <azul@riseup.net>2016-10-02 15:27:15 +0200
committerAzul <azul@riseup.net>2016-10-02 15:27:15 +0200
commit9a5bea5c3f5e109eaa3dd40cb9848867fc4b66aa (patch)
tree2c3d59382c1618c042bf347a882a778a8c181e27
parent5967c4a568aff2c5e73e3ab933aa68d25387aeb1 (diff)
doc: add sequence diagrams for high level overview
-rw-r--r--doc/sequence-diagrams/request-response.pngbin0 -> 37705 bytes
-rw-r--r--doc/sequence-diagrams/request-response.seq22
2 files changed, 22 insertions, 0 deletions
diff --git a/doc/sequence-diagrams/request-response.png b/doc/sequence-diagrams/request-response.png
new file mode 100644
index 0000000..170ce7a
--- /dev/null
+++ b/doc/sequence-diagrams/request-response.png
Binary files differ
diff --git a/doc/sequence-diagrams/request-response.seq b/doc/sequence-diagrams/request-response.seq
new file mode 100644
index 0000000..9baca21
--- /dev/null
+++ b/doc/sequence-diagrams/request-response.seq
@@ -0,0 +1,22 @@
+title Nickserver Request-Response-Sequence
+
+Client-->Server: Request
+Server->*Responder: new
+Server->*Dispatcher: new(responder)
+Server->Dispatcher: respond_to(params, headers)
+# Dispatcher->*Request: new(params, headers)
+Dispatcher->*HandlerA: call(request)
+# HandlerA->Request: params
+# Request->HandlerA: address: 'mail@domain'
+note right of HandlerA: not responsible
+HandlerA-->Dispatcher: nil
+destroy HandlerA
+Dispatcher->*HandlerB: call(request)
+note right of HandlerB: responsible\nquery source and build response
+HandlerB-->Dispatcher: reponse
+destroy HandlerB
+Dispatcher->Responder: send_response(response)
+# destroy Request
+destroy Dispatcher
+Responder-->Client: Response
+destroy Responder