From 10b109e384468aa0f5963ef20aee7cb35fc13916 Mon Sep 17 00:00:00 2001 From: Efim Poberezkin Date: Thu, 24 Dec 2020 22:16:04 +0400 Subject: [PATCH] prepare QA sections for agent commands --- design/agent-commands.md | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/design/agent-commands.md b/design/agent-commands.md index f1b56f452..f2bea0d8a 100644 --- a/design/agent-commands.md +++ b/design/agent-commands.md @@ -6,7 +6,7 @@ Legend: - > Command flow through SMP agent in blockquotes -- **Design and other questions in bold** +- **Q - Design and other questions in bold** ## Table of contents @@ -60,10 +60,22 @@ Is made by the [recipient](#Recipient-and-sender-terminology). - Recipient agent gets automatically subscribed to receive the messages from the queue - Agent replies to user client with Duplex [`connectionInvitation`](#connectionInvitation) command - User sends connection invitation out-of-band to sender -- **Shouldn't user connection group be created after server responds, or even after sender joins and invites back?** -- **How does flow go from runUser thread to user connection group "user" thread? Does runUser pass the the initial `create` command further to "user" thread through socket?** -- **Does sender agent persist partial info about connection record at this point, or only when receives an opposing queue from the sender?** -- **Shouldn't agent at this point answer with Duplex [`connection`](#connection) command? SMP agent commands have conflicting comments in the Duplex protocol. What is that command used for at all at this point?** + +- **Q - Shouldn't user connection group be created after server responds, or even after sender joins and invites back?** + + A - + +- **Q - How does flow go from runUser thread to user connection group "user" thread? Does runUser pass the the initial `create` command further to "user" thread through socket?** + + A - + +- **Q - Does sender agent persist partial info about connection record at this point, or only when receives an opposing queue from the sender?** + + A - + +- **Q - Shouldn't agent at this point answer with Duplex [`connection`](#connection) command? SMP agent commands have conflicting comments in the Duplex protocol. What is that command used for at all at this point?** + + A - #### `join` @@ -85,7 +97,9 @@ Is made by the [recipient](#Recipient-and-sender-terminology). > recipient user client -> user connection TCP socket -> user connection group "user" thread -> agent server commands queue -> runServer thread -> SMP `secure` command sent to server connection group "send" queue -> server connection group "send" thread -> SMP server connection TCP socket -> recipient's SMP server - Sender's agent at this point repeatedly sends Duplex [`helloMsg`](#helloMsg) command to the recipient SMP server, which should be succeful once sender queue is secured by the recipient agent with key provided by the sender in the Duplex [`join`](#join) command -- **Does this command go through user agent TCP socket (main socket)? This relates to the question whether user connection groups for the recipient agent should be created during Duplex [`create`](#create) command** +- **Q - Does this command go through user agent TCP socket (main socket)? This relates to the question whether user connection groups for the recipient agent should be created during Duplex [`create`](#create) command** + + A - #### `subscribe` @@ -137,5 +151,10 @@ TODO ## General questions -- **When does agent set up server connection groups?** -- **Replace command keywords with command names in the Duplex protocol sequence diagram?** +- **Q - When does agent set up server connection groups?** + + A - + +- **Q - Replace command keywords with command names in the Duplex protocol sequence diagram?** + + A -