53 lines
681 B
Plaintext
53 lines
681 B
Plaintext
namespace mmo.beacon;
|
|
|
|
enum Verb:byte {
|
|
Join = 0,
|
|
Leave,
|
|
List
|
|
}
|
|
|
|
union Request {
|
|
JoinRequest,
|
|
LeaveRequest,
|
|
ListRequest
|
|
}
|
|
|
|
table Call {
|
|
request:Request;
|
|
}
|
|
|
|
table JoinRequest {
|
|
uid:string (required);
|
|
contact:string (required);
|
|
clock:long;
|
|
}
|
|
|
|
table LeaveRequest {
|
|
uid:string (required);
|
|
}
|
|
|
|
table ListRequest {}
|
|
|
|
union Response {
|
|
JoinResponse,
|
|
LeaveResponse,
|
|
ListResponse
|
|
}
|
|
|
|
table CallResp {
|
|
response:Response;
|
|
}
|
|
|
|
table JoinResponse {}
|
|
|
|
table LeaveResponse {}
|
|
|
|
table ListResponse {
|
|
entities:[Entity];
|
|
}
|
|
|
|
table Entity {
|
|
uid:string (required);
|
|
// vector clock representing the state of this thing
|
|
clock:long;
|
|
} |