mirror of
https://github.com/vacp2p/rfc.git
synced 2025-01-20 20:00:21 +00:00
4/MVDS-META Simplify
This commit is contained in:
parent
cd9602e190
commit
0bbd2e6b8d
@ -1,29 +1,15 @@
|
|||||||
---
|
---
|
||||||
title: MVDS Metadata Field
|
slug: 4
|
||||||
version: 0.1.0
|
title: 4/MVDS-META
|
||||||
status: Draft
|
name: MVDS Metadata Field
|
||||||
authors: Oskar Thorén <oskar@status.im>, Dean Eigenmann <dean@status.im>
|
status: draft
|
||||||
redirect_from:
|
editor: Oskar Thorén <oskar@status.im>
|
||||||
- /mvds-metadata.html
|
contributors:
|
||||||
|
- Dean Eigenmann <dean@status.im>
|
||||||
|
- Andrea Maria Piana <andreap@status.im>
|
||||||
---
|
---
|
||||||
|
|
||||||
## Table of Contents
|
In this specification, we describe a method to construct message history that will aid the consistency guarantees of [2/MVDS](specs/2). Additionally, we explain how data sync can be used for more lightweight messages that do not require full synchronization.
|
||||||
|
|
||||||
1. [Abstract](#abstract)
|
|
||||||
2. [Motivation](#motivation)
|
|
||||||
3. [Format](#format)
|
|
||||||
1. [Fields](#fields)
|
|
||||||
4. [Usage](#usage)
|
|
||||||
1. [`parents`](#parents)
|
|
||||||
2. [`ephemeral`](#ephemeral)
|
|
||||||
5. [Changelog](#changelog)
|
|
||||||
6. [Acknowledgments](#acknowledgments)
|
|
||||||
7. [Copyright](#copyright)
|
|
||||||
8. [Footnotes](#footnotes)
|
|
||||||
|
|
||||||
## Abstract
|
|
||||||
|
|
||||||
In this specification, we describe a method to construct message history that will aid the consistency guarantees of [MVDS](mvds.md). Additionally, we explain how data sync can be used for more lightweight messages that do not require full synchronization.
|
|
||||||
|
|
||||||
## Motivation
|
## Motivation
|
||||||
|
|
||||||
@ -42,7 +28,7 @@ message Metadata {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Nodes MAY transmit a `Metadata` message by extending the MVDS [message](mvds.md#payloads) with a `metadata` field.
|
Nodes MAY transmit a `Metadata` message by extending the MVDS [message](specs/2#payloads) with a `metadata` field.
|
||||||
|
|
||||||
```diff
|
```diff
|
||||||
message Message {
|
message Message {
|
||||||
@ -57,14 +43,14 @@ message Message {
|
|||||||
|
|
||||||
| Name | Description |
|
| Name | Description |
|
||||||
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `parents` | list of parent [`message identifier`s](mvds.md#payloads) for the specific message. |
|
| `parents` | list of parent [`message identifier`s](specs/2#payloads) for the specific message. |
|
||||||
| `ephemeral` | indicates whether a message is ephemeral or not. |
|
| `ephemeral` | indicates whether a message is ephemeral or not. |
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
### `parents`
|
### `parents`
|
||||||
|
|
||||||
This field contains a list of parent [`message identifier`s](mvds.md#payloads) for the specific message. It MUST NOT contain any messages as parent whose `ack` flag was set to `false`. This establishes a directed acyclic graph (DAG)[^1] of persistent messages.
|
This field contains a list of parent [`message identifier`s](specs/2#payloads) for the specific message. It MUST NOT contain any messages as parent whose `ack` flag was set to `false`. This establishes a directed acyclic graph (DAG)[^1] of persistent messages.
|
||||||
|
|
||||||
Nodes MAY buffer messages until dependencies are satisfied for causal consistency[^2], they MAY also pass the messages straight away for eventual consistency[^3].
|
Nodes MAY buffer messages until dependencies are satisfied for causal consistency[^2], they MAY also pass the messages straight away for eventual consistency[^3].
|
||||||
|
|
||||||
@ -82,15 +68,6 @@ Nodes MAY decide to not persist ephemeral messages, however they MUST NOT be sha
|
|||||||
|
|
||||||
Nodes SHOULD send ephemeral messages in batch mode. As their delivery is not needed to be guaranteed.
|
Nodes SHOULD send ephemeral messages in batch mode. As their delivery is not needed to be guaranteed.
|
||||||
|
|
||||||
## Changelog
|
|
||||||
|
|
||||||
| Version | Comment |
|
|
||||||
| :-----: | ------- |
|
|
||||||
| [0.1.0](https://github.com/vacp2p/specs/blob/53bc8585add58695c28cfaf4382818f4daf8de84/mdf.md) | Initial Release |
|
|
||||||
|
|
||||||
## Acknowledgments
|
|
||||||
- Andrea Maria Piana
|
|
||||||
|
|
||||||
## Copyright
|
## Copyright
|
||||||
|
|
||||||
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
|
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
|
||||||
|
Loading…
x
Reference in New Issue
Block a user