Loading docs/sequence_diagrams/request_response.png 0 → 100644 +72.3 KiB Loading image diff... docs/sequence_diagrams/request_response.wsd 0 → 100644 +43 −0 Original line number Diff line number Diff line title Kinetic C message handling, full request response cycle User -> Client: KineticClient_Put (command) Client -> Client: KineticOperation_SendRequest note over Client: lock Client -> Client: Reserve sequence ID Client -> Client: Pack command & message Client -> Client: Send request note over Client: unlock Client -> Client: pack request activate Client Client -> Listener: hold responses for <FD, SEQ_ID> activate Listener Client -> Drive: send request activate Drive Client -> Listener: expect response for <FD, SEQ_ID> Listener -> Client: acknowledgement with backpressure parallel { Client -> Client: backpressure deactivate Client Listener -> Listener: wait } Drive -> Listener: response deactivate Drive Listener -> Listener: unpack response Listener -> Threadpool: Transfer callback with result code activate Threadpool deactivate Listener Threadpool -->> Client: callback(status) deactivate Threadpool Client -> User: status Loading
docs/sequence_diagrams/request_response.wsd 0 → 100644 +43 −0 Original line number Diff line number Diff line title Kinetic C message handling, full request response cycle User -> Client: KineticClient_Put (command) Client -> Client: KineticOperation_SendRequest note over Client: lock Client -> Client: Reserve sequence ID Client -> Client: Pack command & message Client -> Client: Send request note over Client: unlock Client -> Client: pack request activate Client Client -> Listener: hold responses for <FD, SEQ_ID> activate Listener Client -> Drive: send request activate Drive Client -> Listener: expect response for <FD, SEQ_ID> Listener -> Client: acknowledgement with backpressure parallel { Client -> Client: backpressure deactivate Client Listener -> Listener: wait } Drive -> Listener: response deactivate Drive Listener -> Listener: unpack response Listener -> Threadpool: Transfer callback with result code activate Threadpool deactivate Listener Threadpool -->> Client: callback(status) deactivate Threadpool Client -> User: status