// Server service for server management.

syntax = "proto3";
package reovim.v2;

service ServerService {
  // Kill the server (graceful shutdown).
  rpc Kill(KillRequest) returns (KillResponse);

  // Get server info.
  rpc Info(InfoRequest) returns (InfoResponse);

  // Ping (health check).
  rpc Ping(PingRequest) returns (PingResponse);
}

message KillRequest {
  bool force = 1;  // Kill even with active clients
}

message KillResponse {
  bool ok = 1;
}

message InfoRequest {}

message InfoResponse {
  string version = 1;
  uint64 uptime_secs = 2;
  uint64 client_count = 3;
  uint64 buffer_count = 4;
  uint64 module_count = 5;
}

message PingRequest {}

message PingResponse {
  string pong = 1;  // "pong"
}
