syntax = "proto3";
package datum.streamref;
// StreamRefs protocol messages mirror Akka's StreamRefMessages.proto, with
// ActorRef{path} endpoint naming replaced by a stream_ref_id scoped to one
// transport connection. This file is checked in as documentation only; Datum
// hand-writes matching prost structs and does not run protoc at build time.
message StreamRefFrame {
bytes stream_ref_id = 1;
oneof message {
OnSubscribeHandshake on_subscribe_handshake = 2;
CumulativeDemand cumulative_demand = 3;
SequencedOnNext sequenced_on_next = 4;
RemoteStreamCompleted remote_stream_completed = 5;
RemoteStreamFailure remote_stream_failure = 6;
Ack ack = 7;
}
}
message SourceRef {
bytes stream_ref_id = 1;
}
message SinkRef {
bytes stream_ref_id = 1;
}
message Payload {
bytes enclosed_message = 1;
}
message OnSubscribeHandshake {}
message CumulativeDemand {
uint64 seq_nr = 1;
}
message SequencedOnNext {
uint64 seq_nr = 1;
Payload payload = 2;
}
message RemoteStreamCompleted {
uint64 seq_nr = 1;
}
message RemoteStreamFailure {
bytes cause = 1;
}
message Ack {}