diff options
Diffstat (limited to 'doc/sequence-diagrams/request-response.seq')
-rw-r--r-- | doc/sequence-diagrams/request-response.seq | 22 |
1 files changed, 22 insertions, 0 deletions
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 |