14 lines
776 B
Plaintext
14 lines
776 B
Plaintext
// Required server support; a checked installed implementation may additionally predict locally.
|
|||
|
|
interface EventStream<value Payload> id "interface:org.quixos.events:stream" revision "interface:org.quixos.events:stream@1" {
|
||
|
|
operation publish id "events:publish" : Payload -> record {publication:string;} {
|
||
|
|
call id "events:publish:call" execution transaction;
|
||
|
|
}
|
||
|
|
queryable value head id "events:head" : optional<uint64> {
|
||
|
|
get id "events:head:get" execution snapshot;
|
||
|
|
}
|
||
|
|
operation readPage id "events:read-page" : record {after:optional<string>;limit:uint32;}
|
||
|
|
-> record {entries:list<record {publication:string;position:uint64;payload:Payload;}>;next:optional<string>;asOfHead:optional<uint64>;} {
|
||
|
|
call id "events:read-page:call" execution snapshot;
|
||
|
|
}
|
||
|
|
}
|