
yamcs.api.websocket.proto Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of yamcs-api Show documentation
Show all versions of yamcs-api Show documentation
Used by external clients to communicate with Yamcs
syntax="proto3";
package yamcs.api;
option java_package = "org.yamcs.protobuf";
option java_outer_classname = "WebSocketProto";
option java_multiple_files = true;
import "google/protobuf/any.proto";
import "yamcs/api/exception.proto";
message ClientMessage {
// Message type. Typically the name of a topic to subscribe to, or a built-in like "cancel".
string type = 1;
// Options specific to the type
google.protobuf.Any options = 2;
// Optional client-side message identifier, returned in reply messages.
int32 id = 3;
// If applicable, the call associated with this message
// This should be used when the client is streaming multiple messages
// handled by the same call.
int32 call = 4;
// If set, permit the server to keep a WebSocket connection despite frame writes
// getting dropped (channel not open or not writable). If unset the default is 0,
// meaning that if the server can't write a frame, it will close the connection
// (impacting all calls on that connection).
//
// This attribute is only applied when it is set on the first message of a call.
// Since Yamcs 5.7.6 this option is deprecated in favour of lowPriority below.
int32 maxDroppedWrites = 5 [deprecated = true];
//If set to true, permit the server to drop messages if writing the message would cause the
// channel to exceed the highWaterMark
// (see https://docs.yamcs.org/yamcs-server-manual/services/global/http-server/)
// This attribute is only applied when it is set on the first message of a call.
//
// Note that if a message exceeds the highWaterMark, with this option set it will always be dropped.
// A warning will be printed in the Yamcs logs in this case.
//
bool lowPriority = 6;
}
message ServerMessage {
// Message type. Typically the name of the subscribed topic, or a built-in like "reply".
string type = 1;
// If applicable, the call associated with this message
int32 call = 2;
// Sequence counter (scoped to the call)
int32 seq = 3;
google.protobuf.Any data = 4;
}
// Message to be provided in a ClientMessage if type is "cancel".
// This is a special message type that allows cancelling a call.
message CancelOptions {
int32 call = 1;
}
// Message to be provided in the data field of a ServerMessage if type is "reply".
message Reply {
// The id of the original client message (if provided)
int32 reply_to = 1;
// If set, the call was not successful.
ExceptionMessage exception = 2;
}
// Message to be provided in the data field of a ServerMessage if type is "state".
message State {
message CallInfo {
int32 call = 1;
string type = 2;
google.protobuf.Any options = 3;
}
repeated CallInfo calls = 1;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy