Commit 8b1eccbe authored by Scott Vokes's avatar Scott Vokes
Browse files

Update sequence diagrams

parent bb546e98
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
DOT_WSDs=$(shell ls *.wsd | sed -e "s/\.wsd/.png/")

all: ${DOT_WSDs}

%.png: %.wsd
	wsd --style earth $< $@
−5.06 KiB (48.4 KiB)
Loading image diff...
+12 −21
Original line number Diff line number Diff line
title Kinetic C message handling (w/ no errors)

parallel {
    Client -> Sender: client enqueues request
    note left of Client: client is blocked
}
Client -> Client: pack request
activate Client

Sender -> Listener: hold responses for <FD, SEQ_ID>
activate Sender
Client -> Listener: hold responses for <FD, SEQ_ID>
activate Listener

Sender -> Drive: send request
Client -> Drive: send request
activate Drive

Sender -> Client: notify Client
Client -> Listener: expect response for <FD, SEQ_ID>
Listener -> Client: acknowledgement with backpressure

parallel {
Client -> Client: backpressure
deactivate Client

    Sender -> Listener: expect response for <FD, SEQ_ID>
    deactivate Sender
}

parallel {
    note left of Client: client is unblocked
Listener -> Listener: wait

Drive -> Listener: response
deactivate Drive
}

Listener -> Listener: unpack response

deactivate Listener

Listener -> Threadpool: Transfer callback with result code
activate Threadpool
deactivate Listener

Threadpool -->> Client: callback(status)
deactivate Threadpool
−6.42 KiB (48.2 KiB)
Loading image diff...
+9 −18
Original line number Diff line number Diff line
title Kinetic C message handling (w/ response time-out)

parallel {
    Client -> Sender: client enqueues request
    note left of Client: client is blocked
}
Client -> Client: pack request
activate Client

Sender -> Listener: hold responses for <FD, SEQ_ID>
activate Sender
Client -> Listener: hold responses for <FD, SEQ_ID>
activate Listener

Sender -> Drive: send request
Client -> Drive: send request
activate Drive

Sender -> Client: notify Client
Client -> Listener: expect response for <FD, SEQ_ID>
Listener -> Client: acknowledgement with backpressure

parallel {
Client -> Client: backpressure
deactivate Client

    Sender -> Listener: expect response for <FD, SEQ_ID>
    deactivate Sender
}

parallel {
    note left of Client: client is unblocked
Listener -> Listener: wait
}

note right of Listener: TIME OUT
deactivate Listener
Loading