-
Notifications
You must be signed in to change notification settings - Fork 373
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MSC3005: Streaming Federation Events #3005
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wrote some sleep-deprived comments that i know are absolute issues that need to be addressed here, this MSC requires more comments.
Small PSA: I might refactor this MSC into a "generic streaming" spec instead, due to some insightful discussion i had. |
| :----------: | ---------------------------------- | ------------------------ | ------------------- | | ||
| `fmt` | Chosen format | `integer | string` | (Cannot be omitted) | | ||
| `ext` | Echoed extension settings | `object{string: value}` | `{}` | | ||
| `ext_op_map` | Mapped extension-frames-to-opcodes | `object{string: string}` | `{}` | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can also be ext_ops
, though i wasn't sure.
Second value; a free `value` detailing the error of processing this EDU. It should probably be a | ||
`string`, or an `object` with an `"error"` key, but this is not absolutely required. | ||
|
||
How server implementations react to PDU errors is out of scope for this proposal. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The original spec is incredibly lax with how the "processing results" are defined, so I don't have a choice to make it just as ambiguous.
Concerns from @Half-Shot re: this, that the spec should avoid bloat, this is a new protocol which'd be implemented in the spec, and matrix has so far been wanting to avoid reinventing the wheel, generally being in favour of using something else that's "out there" before using this protocol. |
Some extra discussion on
|
I believe that this MSC does no longer have much going for it at this stage. While I believe that a binary&streaming-based solution can speed up raw transfers and decrease raw latency of federation traffic, it will increase implementation complexity, and possibly heighten the barrier to entry for a matrix homeserver. I do ask the SCT to consider ways to speed up raw transfers, but I don't think I have confidence that this MSC, at this time, and possibly with me as the author, can achieve something like that. Thus, thanks for your help with this, I am abandoning this MSC. For anyone reading this at any point in the future, I invite them to take note from the proposal contents to make a better solution with a better context or perspective on this issue. |
Rendered
Signed-off-by: Jonathan de Jong <jonathan@automatia.nl>