All Downloads are FREE. Search and download functionalities are using the official Maven repository.

yamcs.protobuf.commanding.queues_service.proto Maven / Gradle / Ivy

There is a newer version: 5.10.9
Show newest version
syntax="proto2";

package yamcs.protobuf.commanding;

option java_package = "org.yamcs.protobuf";
option java_outer_classname = "QueuesServiceProto";
option java_multiple_files = true;

import "google/protobuf/empty.proto";

import "yamcs/api/annotations.proto";
import "yamcs/protobuf/commanding/commanding.proto";

service QueuesApi {

  // List command queues
  rpc ListQueues(ListQueuesRequest) returns (ListQueuesResponse) {
    option (yamcs.api.route) = {
      get: "/api/processors/{instance}/{processor}/queues"
    };
  }
  
  // Get a command queue
  rpc GetQueue(GetQueueRequest) returns (CommandQueueInfo) {
    option (yamcs.api.route) = {
      get: "/api/processors/{instance}/{processor}/queues/{queue}"
    };
  }

  // Enable a command queue
  rpc EnableQueue(EnableQueueRequest) returns (CommandQueueInfo) {
    option (yamcs.api.route) = {
      post: "/api/processors/{instance}/{processor}/queues/{queue}:enable"
      log: "Queue '{queue}' enabled for processor '{processor}'"
    };
  }

  // Disable a command queue
  rpc DisableQueue(DisableQueueRequest) returns (CommandQueueInfo) {
    option (yamcs.api.route) = {
      post: "/api/processors/{instance}/{processor}/queues/{queue}:disable"
      log: "Queue '{queue}' disabled for processor '{processor}'"
    };
  }

  // Block a command queue
  rpc BlockQueue(BlockQueueRequest) returns (CommandQueueInfo) {
    option (yamcs.api.route) = {
      post: "/api/processors/{instance}/{processor}/queues/{queue}:block"
      log: "Queue '{queue}' blocked for processor '{processor}'"
    };
  }

  // Receive updates on queue stats
  rpc SubscribeQueueStatistics(SubscribeQueueStatisticsRequest) returns (stream CommandQueueInfo) {
    option (yamcs.api.websocket) = {
      topic: "queue-stats"
    };
  }
  
  // Receive updates on queue events
  rpc SubscribeQueueEvents(SubscribeQueueEventsRequest) returns (stream CommandQueueEvent) {
    option (yamcs.api.websocket) = {
      topic: "queue-events"
    };
  }
  
  // List queued commands
  rpc ListQueuedCommands(ListQueuedCommandsRequest) returns (ListQueuedCommandsResponse) {
    option (yamcs.api.route) = {
      get: "/api/processors/{instance}/{processor}/queues/{queue}/commands"
      additional_bindings: {
        get: "/api/processors/{instance}/{processor}/queues/{queue}/entries"
        deprecated: true
      }
    };
  }

  // Accept a queued command
  rpc AcceptCommand(AcceptCommandRequest) returns (google.protobuf.Empty) {
    option (yamcs.api.route) = {
      post: "/api/processors/{instance}/{processor}/queues/{queue}/commands/{command}:accept"
    };
  }

  // Reject a queued command
  rpc RejectCommand(RejectCommandRequest) returns (google.protobuf.Empty) {
    option (yamcs.api.route) = {
      post: "/api/processors/{instance}/{processor}/queues/{queue}/commands/{command}:reject"
    };
  }
}

message ListQueuesRequest {
  // Yamcs instance namee.
  optional string instance = 1;
  
  // Processor name.
  optional string processor = 2;
}

message ListQueuesResponse {
  repeated CommandQueueInfo queues = 1;
}

message SubscribeQueueStatisticsRequest {
  // Yamcs instance name.
  optional string instance = 1;
  
  // Processor name.
  optional string processor = 2;
}

message SubscribeQueueEventsRequest {
  // Yamcs instance name.
  optional string instance = 1;
  
  // Processor name.
  optional string processor = 2;
}

message GetQueueRequest {
  // Yamcs instance name.
  optional string instance = 1;
  
  // Processor name.
  optional string processor = 2;
  
  // Queue name.
  optional string queue = 3;
}

message EnableQueueRequest {
  // Yamcs instance name.
  optional string instance = 1;
  
  // Processor name.
  optional string processor = 2;
  
  // Queue name.
  optional string queue = 3;
}

message DisableQueueRequest {
  // Yamcs instance name.
  optional string instance = 1;
  
  // Processor name.
  optional string processor = 2;
  
  // Queue name.
  optional string queue = 3;
}

message BlockQueueRequest {
  // Yamcs instance name.
  optional string instance = 1;
  
  // Processor name.
  optional string processor = 2;
  
  // Queue name.
  optional string queue = 3;
}

message ListQueuedCommandsRequest {
  // Yamcs instance name.
  optional string instance = 1;
  
  // Processor name.
  optional string processor = 2;
  
  // Queue name.
  optional string queue = 3;
}

message ListQueuedCommandsResponse {
  repeated CommandQueueEntry commands = 1;
}

message AcceptCommandRequest {
  // Yamcs instance name.
  optional string instance = 1;
  
  // Processor name.
  optional string processor = 2;
  
  // Queue name.
  optional string queue = 3;
  
  // Command identifier.
  optional string command = 4;
}

message RejectCommandRequest {
  // Yamcs instance name.
  optional string instance = 1;
  
  // Processor name.
  optional string processor = 2;
  
  // Queue name.
  optional string queue = 3;
  
  // Command identifier.
  optional string command = 4;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy