mirror of
https://github.com/acid-info/vac.dev.git
synced 2025-02-22 16:48:15 +00:00
remove payload
This commit is contained in:
parent
4e26f3d740
commit
545b345eb2
@ -41,89 +41,6 @@ The spec is in an early draft stage and can be found [here](https://github.com/v
|
|||||||
| NS | Name system. Associates mutable data to a name. |
|
| NS | Name system. Associates mutable data to a name. |
|
||||||
| Remote log | Replication of a local log at a different location. |
|
| Remote log | Replication of a local log at a different location. |
|
||||||
|
|
||||||
### Payloads
|
|
||||||
|
|
||||||
Payloads are implemented using [protocol buffers v3](https://developers.google.com/protocol-buffers/).
|
|
||||||
|
|
||||||
**CAS service**:
|
|
||||||
|
|
||||||
```protobuf
|
|
||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
package vac.cas;
|
|
||||||
|
|
||||||
service CAS {
|
|
||||||
rpc Add(Content) returns (Address) {}
|
|
||||||
rpc Get(Address) returns (Content) {}
|
|
||||||
}
|
|
||||||
|
|
||||||
message Address {
|
|
||||||
bytes id = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
message Content {
|
|
||||||
bytes data = 1;
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
<!-- XXX/TODO: Can we get rid of the id/data complication and just use bytes? -->
|
|
||||||
|
|
||||||
**NS service**:
|
|
||||||
|
|
||||||
```protobuf
|
|
||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
package vac.cas;
|
|
||||||
|
|
||||||
service NS {
|
|
||||||
rpc Update(NameUpdate) returns (Response) {}
|
|
||||||
rpc Fetch(Query) returns (Content) {}
|
|
||||||
}
|
|
||||||
|
|
||||||
message NameUpdate {
|
|
||||||
string name = 1;
|
|
||||||
bytes content = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message Query {
|
|
||||||
string name = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
message Content {
|
|
||||||
bytes data = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
message Response {
|
|
||||||
bytes data = 1;
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
<!-- XXX: Response and data type a bit weird, Ok/Err enum? -->
|
|
||||||
<!-- TODO: Do we want NameInit here? -->
|
|
||||||
|
|
||||||
**Remote log:**
|
|
||||||
|
|
||||||
```protobuf
|
|
||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
package vac.cas;
|
|
||||||
|
|
||||||
message RemoteLog {
|
|
||||||
repeated Pair pair = 1;
|
|
||||||
bytes tail = 2;
|
|
||||||
|
|
||||||
message Pair {
|
|
||||||
bytes remoteHash = 1;
|
|
||||||
bytes localHash = 2;
|
|
||||||
bytes data = 3;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
<!-- TODO: Better name for Pair, Mapping? -->
|
|
||||||
|
|
||||||
<!-- TODO: Extend pair with (optional) data -->
|
|
||||||
|
|
||||||
## Synchronization
|
## Synchronization
|
||||||
|
|
||||||
### Roles
|
### Roles
|
||||||
|
Loading…
x
Reference in New Issue
Block a user