From 81ef118e0764818c1588b89c1878884a427af650 Mon Sep 17 00:00:00 2001 From: sappenin Date: Tue, 8 Oct 2019 13:20:49 -0600 Subject: [PATCH 01/13] Fixes #546 * Update STREAM RFC to clarify how `ConnectionAssetDetails` are communicated for a given STREAM Connection. * Clarify the relationship between `ConnectionAssetDetails` and `ConnectionNewAddress `. Signed-off-by: sappenin --- 0029-stream/0029-stream.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/0029-stream/0029-stream.md b/0029-stream/0029-stream.md index 36ef004d..bfaca97e 100644 --- a/0029-stream/0029-stream.md +++ b/0029-stream/0029-stream.md @@ -1,6 +1,6 @@ --- title: STREAM - A Multiplexed Money and Data Transport for ILP -draft: 7 +draft: 8 --- # STREAM: A Multiplexed Money and Data Transport for ILP @@ -174,7 +174,11 @@ Implementations SHOULD wait for a valid response (encrypted with the same shared #### 4.3.1. Connection Asset Details -Each endpoint MAY expose their asset details by sending a `ConnectionAssetDetails` frame. +Each endpoint MAY expose their asset details by sending a `ConnectionAssetDetails` frame. This frame is optional because some use-cases, such as Web Monetization, do not require it. + +Asset details exposed by this frame MUST not change during the lifetime of a Connection. Because of this, endpoints that honor `ConnectionAssetDetails` frames SHOULD ignore any repeat `ConnectionAssetDetails` frames for a given Connection. + +Endpoints that wish to discover the other endpoint's asset details MAY send a `ConnectionNewAddress` frame to prompt the endpoint to respond with a `ConnectionAssetDetails` frame. ### 4.4. Streams @@ -327,6 +331,8 @@ If implementations allow half-open connections, an endpoint MAY continue sending |---|---|---| | Source Address | ILP Address | New ILP address of the endpoint that sent the frame. | +If an endpoint receives a `ConnectionNewAddress` frame, the endpoint MUST respond with a `ConnectionAssetDetails` frame. + #### 5.3.3. `ConnectionMaxData` Frame | Field | Type | Description | @@ -432,6 +438,8 @@ In other words, if a sender resends data (e.g. because a packet was lost), it MU | Source Asset Code | Utf8String | Asset code of endpoint that sent the frame. | | Source Asset Scale | UInt8 | Asset scale of endpoint that sent the frame. | +Asset details exposed by this frame MUST not change during the lifetime of a Connection. Because of this, endpoints that honor `ConnectionAssetDetails` frames SHOULD ignore any repeat `ConnectionAssetDetails` frames for a given Connection. + ### 5.4. Error Codes Error codes are sent in `StreamClose` and `ConnectionClose` frames to indicate what caused the stream or connection to be closed. From 32be872c632f76e208a0dbfb099c12af65c71582 Mon Sep 17 00:00:00 2001 From: David Fuelling Date: Tue, 8 Oct 2019 17:04:50 -0600 Subject: [PATCH 02/13] Update 0029-stream/0029-stream.md Co-Authored-By: Kincaid O'Neil --- 0029-stream/0029-stream.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/0029-stream/0029-stream.md b/0029-stream/0029-stream.md index bfaca97e..11dcbc25 100644 --- a/0029-stream/0029-stream.md +++ b/0029-stream/0029-stream.md @@ -438,7 +438,7 @@ In other words, if a sender resends data (e.g. because a packet was lost), it MU | Source Asset Code | Utf8String | Asset code of endpoint that sent the frame. | | Source Asset Scale | UInt8 | Asset scale of endpoint that sent the frame. | -Asset details exposed by this frame MUST not change during the lifetime of a Connection. Because of this, endpoints that honor `ConnectionAssetDetails` frames SHOULD ignore any repeat `ConnectionAssetDetails` frames for a given Connection. +Asset details exposed by this frame MUST NOT change during the lifetime of a Connection. Because of this, endpoints that honor `ConnectionAssetDetails` frames SHOULD ignore any repeat `ConnectionAssetDetails` frames for a given Connection. ### 5.4. Error Codes From 4511557d9902a200ede5feeccfd73a3c09536dee Mon Sep 17 00:00:00 2001 From: sappenin Date: Tue, 8 Oct 2019 17:20:42 -0600 Subject: [PATCH 03/13] Update per PR comments. Signed-off-by: sappenin --- 0029-stream/0029-stream.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/0029-stream/0029-stream.md b/0029-stream/0029-stream.md index 11dcbc25..5c3506ba 100644 --- a/0029-stream/0029-stream.md +++ b/0029-stream/0029-stream.md @@ -178,7 +178,7 @@ Each endpoint MAY expose their asset details by sending a `ConnectionAssetDetail Asset details exposed by this frame MUST not change during the lifetime of a Connection. Because of this, endpoints that honor `ConnectionAssetDetails` frames SHOULD ignore any repeat `ConnectionAssetDetails` frames for a given Connection. -Endpoints that wish to discover the other endpoint's asset details MAY send a `ConnectionNewAddress` frame to prompt the endpoint to respond with a `ConnectionAssetDetails` frame. +Endpoints that wish to discover the other endpoint's asset details MAY send a `ConnectionAssetDetails` frame containing their own asset details. The other endpoint MUST respond to this frame with a new `ConnectionAssetDetails` frame containing its own asset details. In order to avoid infinite loops, this response frame MUST be encoded into the Stream packet response that correlates to request containing the initial `ConnectionAssetDetails` frame. ### 4.4. Streams @@ -329,9 +329,7 @@ If implementations allow half-open connections, an endpoint MAY continue sending | Field | Type | Description | |---|---|---| -| Source Address | ILP Address | New ILP address of the endpoint that sent the frame. | - -If an endpoint receives a `ConnectionNewAddress` frame, the endpoint MUST respond with a `ConnectionAssetDetails` frame. +| Source Address | ILP Address | New ILP address of the endpoint that sent the frame. | #### 5.3.3. `ConnectionMaxData` Frame @@ -438,7 +436,9 @@ In other words, if a sender resends data (e.g. because a packet was lost), it MU | Source Asset Code | Utf8String | Asset code of endpoint that sent the frame. | | Source Asset Scale | UInt8 | Asset scale of endpoint that sent the frame. | -Asset details exposed by this frame MUST NOT change during the lifetime of a Connection. Because of this, endpoints that honor `ConnectionAssetDetails` frames SHOULD ignore any repeat `ConnectionAssetDetails` frames for a given Connection. +If an endpoint receives a `ConnectionAssetDetails` frame, the endpoint MUST respond with a new `ConnectionAssetDetails` frame containing its own asset details. In order to avoid infinite loops, this response frame MUST be encoded into the Stream packet response that correlates to request containing the initial `ConnectionAssetDetails` frame. + +Asset details exposed by this frame MUST NOT change during the lifetime of a Connection. Because of this, endpoints that honor `ConnectionAssetDetails` frames SHOULD ignore any repeat `ConnectionAssetDetails` frames received on a given Connection. ### 5.4. Error Codes From 5c876228ea68cf4fff241231788f2858d8bb3e18 Mon Sep 17 00:00:00 2001 From: sappenin Date: Tue, 8 Oct 2019 17:23:32 -0600 Subject: [PATCH 04/13] Remove redundant clarification. Signed-off-by: sappenin --- 0029-stream/0029-stream.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/0029-stream/0029-stream.md b/0029-stream/0029-stream.md index 5c3506ba..5588c7b7 100644 --- a/0029-stream/0029-stream.md +++ b/0029-stream/0029-stream.md @@ -436,7 +436,7 @@ In other words, if a sender resends data (e.g. because a packet was lost), it MU | Source Asset Code | Utf8String | Asset code of endpoint that sent the frame. | | Source Asset Scale | UInt8 | Asset scale of endpoint that sent the frame. | -If an endpoint receives a `ConnectionAssetDetails` frame, the endpoint MUST respond with a new `ConnectionAssetDetails` frame containing its own asset details. In order to avoid infinite loops, this response frame MUST be encoded into the Stream packet response that correlates to request containing the initial `ConnectionAssetDetails` frame. +If an endpoint receives a `ConnectionAssetDetails` frame, the endpoint MUST respond with a new `ConnectionAssetDetails` frame containing its own asset details. Asset details exposed by this frame MUST NOT change during the lifetime of a Connection. Because of this, endpoints that honor `ConnectionAssetDetails` frames SHOULD ignore any repeat `ConnectionAssetDetails` frames received on a given Connection. From fcb0dcb3aff01b1c66510591b0e4b3c279f0f243 Mon Sep 17 00:00:00 2001 From: sappenin Date: Wed, 9 Oct 2019 08:50:47 -0600 Subject: [PATCH 05/13] Remove wordy sentence Signed-off-by: sappenin --- 0029-stream/0029-stream.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/0029-stream/0029-stream.md b/0029-stream/0029-stream.md index 5588c7b7..b53c46cd 100644 --- a/0029-stream/0029-stream.md +++ b/0029-stream/0029-stream.md @@ -178,7 +178,7 @@ Each endpoint MAY expose their asset details by sending a `ConnectionAssetDetail Asset details exposed by this frame MUST not change during the lifetime of a Connection. Because of this, endpoints that honor `ConnectionAssetDetails` frames SHOULD ignore any repeat `ConnectionAssetDetails` frames for a given Connection. -Endpoints that wish to discover the other endpoint's asset details MAY send a `ConnectionAssetDetails` frame containing their own asset details. The other endpoint MUST respond to this frame with a new `ConnectionAssetDetails` frame containing its own asset details. In order to avoid infinite loops, this response frame MUST be encoded into the Stream packet response that correlates to request containing the initial `ConnectionAssetDetails` frame. +Endpoints that wish to discover the other endpoint's asset details MAY send a `ConnectionAssetDetails` frame containing its own asset details. The other endpoint MUST respond to this frame with a new `ConnectionAssetDetails` frame containing its own asset details. ### 4.4. Streams From c61fb335a8da9376f85192802944e0741e952a65 Mon Sep 17 00:00:00 2001 From: sappenin Date: Wed, 9 Oct 2019 08:54:28 -0600 Subject: [PATCH 06/13] Remove language about ignoring subsequent frames. Signed-off-by: sappenin --- 0029-stream/0029-stream.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/0029-stream/0029-stream.md b/0029-stream/0029-stream.md index b53c46cd..1de10e0f 100644 --- a/0029-stream/0029-stream.md +++ b/0029-stream/0029-stream.md @@ -176,7 +176,7 @@ Implementations SHOULD wait for a valid response (encrypted with the same shared Each endpoint MAY expose their asset details by sending a `ConnectionAssetDetails` frame. This frame is optional because some use-cases, such as Web Monetization, do not require it. -Asset details exposed by this frame MUST not change during the lifetime of a Connection. Because of this, endpoints that honor `ConnectionAssetDetails` frames SHOULD ignore any repeat `ConnectionAssetDetails` frames for a given Connection. +Asset details exposed by this frame MUST not change during the lifetime of a Connection. Endpoints that wish to discover the other endpoint's asset details MAY send a `ConnectionAssetDetails` frame containing its own asset details. The other endpoint MUST respond to this frame with a new `ConnectionAssetDetails` frame containing its own asset details. @@ -438,7 +438,7 @@ In other words, if a sender resends data (e.g. because a packet was lost), it MU If an endpoint receives a `ConnectionAssetDetails` frame, the endpoint MUST respond with a new `ConnectionAssetDetails` frame containing its own asset details. -Asset details exposed by this frame MUST NOT change during the lifetime of a Connection. Because of this, endpoints that honor `ConnectionAssetDetails` frames SHOULD ignore any repeat `ConnectionAssetDetails` frames received on a given Connection. +Asset details exposed by this frame MUST NOT change during the lifetime of a Connection. ### 5.4. Error Codes From a1b9ea83efbe918638ed2663dd4d50b91dc524e8 Mon Sep 17 00:00:00 2001 From: sappenin Date: Wed, 9 Oct 2019 14:01:42 -0600 Subject: [PATCH 07/13] Removing breaking proposed changes. Signed-off-by: sappenin --- 0029-stream/0029-stream.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/0029-stream/0029-stream.md b/0029-stream/0029-stream.md index 1de10e0f..623a58c4 100644 --- a/0029-stream/0029-stream.md +++ b/0029-stream/0029-stream.md @@ -178,8 +178,6 @@ Each endpoint MAY expose their asset details by sending a `ConnectionAssetDetail Asset details exposed by this frame MUST not change during the lifetime of a Connection. -Endpoints that wish to discover the other endpoint's asset details MAY send a `ConnectionAssetDetails` frame containing its own asset details. The other endpoint MUST respond to this frame with a new `ConnectionAssetDetails` frame containing its own asset details. - ### 4.4. Streams Once a connection is established, either endpoint can create streams to send money or data. @@ -436,8 +434,6 @@ In other words, if a sender resends data (e.g. because a packet was lost), it MU | Source Asset Code | Utf8String | Asset code of endpoint that sent the frame. | | Source Asset Scale | UInt8 | Asset scale of endpoint that sent the frame. | -If an endpoint receives a `ConnectionAssetDetails` frame, the endpoint MUST respond with a new `ConnectionAssetDetails` frame containing its own asset details. - Asset details exposed by this frame MUST NOT change during the lifetime of a Connection. ### 5.4. Error Codes From 24aeec6f0b773ce12209d31ac8ce0970aac7118f Mon Sep 17 00:00:00 2001 From: sappenin Date: Wed, 9 Oct 2019 14:05:03 -0600 Subject: [PATCH 08/13] Remove whitespace Signed-off-by: sappenin --- 0029-stream/0029-stream.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/0029-stream/0029-stream.md b/0029-stream/0029-stream.md index 623a58c4..3f992700 100644 --- a/0029-stream/0029-stream.md +++ b/0029-stream/0029-stream.md @@ -327,7 +327,7 @@ If implementations allow half-open connections, an endpoint MAY continue sending | Field | Type | Description | |---|---|---| -| Source Address | ILP Address | New ILP address of the endpoint that sent the frame. | +| Source Address | ILP Address | New ILP address of the endpoint that sent the frame. | #### 5.3.3. `ConnectionMaxData` Frame From eb5cc174ea4fbf7b7a3bd47e37eb33b9c2c69ab0 Mon Sep 17 00:00:00 2001 From: sappenin Date: Wed, 16 Oct 2019 15:42:24 -0600 Subject: [PATCH 09/13] Remove inaccurate example. Signed-off-by: sappenin --- 0029-stream/0029-stream.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/0029-stream/0029-stream.md b/0029-stream/0029-stream.md index 3f992700..5b01645a 100644 --- a/0029-stream/0029-stream.md +++ b/0029-stream/0029-stream.md @@ -174,7 +174,7 @@ Implementations SHOULD wait for a valid response (encrypted with the same shared #### 4.3.1. Connection Asset Details -Each endpoint MAY expose their asset details by sending a `ConnectionAssetDetails` frame. This frame is optional because some use-cases, such as Web Monetization, do not require it. +Each endpoint MAY expose their asset details by sending a `ConnectionAssetDetails` frame. This frame is optional because some use-cases do not require it. Asset details exposed by this frame MUST not change during the lifetime of a Connection. From 6d4af7c25f55721f630f45a482c75de798b2d9cb Mon Sep 17 00:00:00 2001 From: sappenin Date: Wed, 23 Oct 2019 08:52:25 -0600 Subject: [PATCH 10/13] Bumping draft number to test the build scripts Signed-off-by: sappenin --- 0029-stream/0029-stream.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/0029-stream/0029-stream.md b/0029-stream/0029-stream.md index 5b01645a..5b8b917b 100644 --- a/0029-stream/0029-stream.md +++ b/0029-stream/0029-stream.md @@ -1,6 +1,6 @@ --- title: STREAM - A Multiplexed Money and Data Transport for ILP -draft: 8 +draft: 9 --- # STREAM: A Multiplexed Money and Data Transport for ILP From b6fa521df2f1b7de0f925a9a003176fdecdd7d5a Mon Sep 17 00:00:00 2001 From: sappenin Date: Wed, 23 Oct 2019 08:53:26 -0600 Subject: [PATCH 11/13] Reducing the draft num Signed-off-by: sappenin --- 0029-stream/0029-stream.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/0029-stream/0029-stream.md b/0029-stream/0029-stream.md index 5b8b917b..2f29b015 100644 --- a/0029-stream/0029-stream.md +++ b/0029-stream/0029-stream.md @@ -1,6 +1,6 @@ --- title: STREAM - A Multiplexed Money and Data Transport for ILP -draft: 9 +draft: 7 --- # STREAM: A Multiplexed Money and Data Transport for ILP From cdb00850426b7f43975d30184796a8135dfd9bfe Mon Sep 17 00:00:00 2001 From: sappenin Date: Wed, 23 Oct 2019 09:38:54 -0600 Subject: [PATCH 12/13] Restoring correct draft number Signed-off-by: sappenin --- 0029-stream/0029-stream.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/0029-stream/0029-stream.md b/0029-stream/0029-stream.md index 2f29b015..5b01645a 100644 --- a/0029-stream/0029-stream.md +++ b/0029-stream/0029-stream.md @@ -1,6 +1,6 @@ --- title: STREAM - A Multiplexed Money and Data Transport for ILP -draft: 7 +draft: 8 --- # STREAM: A Multiplexed Money and Data Transport for ILP From f1e4dc2c4963dc9ffbbd84dca424546f99ab0223 Mon Sep 17 00:00:00 2001 From: sappenin Date: Wed, 23 Oct 2019 10:05:24 -0600 Subject: [PATCH 13/13] Skip Version Check Skip Version Check Signed-off-by: sappenin --- 0029-stream/0029-stream.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/0029-stream/0029-stream.md b/0029-stream/0029-stream.md index 5b01645a..fc27bc77 100644 --- a/0029-stream/0029-stream.md +++ b/0029-stream/0029-stream.md @@ -1,6 +1,6 @@ --- title: STREAM - A Multiplexed Money and Data Transport for ILP -draft: 8 +draft: 8 --- # STREAM: A Multiplexed Money and Data Transport for ILP