prepare QA sections for agent commands

This commit is contained in:
Efim Poberezkin
2020-12-24 22:16:04 +04:00
parent e3ea6aa245
commit 10b109e384

View File

@@ -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 -