{
  "repo": "tidbcloud/ffs",
  "binary": "throttler-server",
  "binary_path": "cmd/throttler-server/main.go",
  "surface_kind": "mixed_service",
  "type": "service",
  "services": [
    {
      "name": "ThrottlerLifecycle",
      "methods": [
        {
          "name": "BootstrapZoneClient",
          "name_key": "ThrottlerLifecycle.BootstrapZoneClient",
          "input": "universe endpoints, zone name",
          "response": "Zone",
          "type": "local"
        },
        {
          "name": "WatchZoneUpdates",
          "name_key": "ThrottlerLifecycle.WatchZoneUpdates",
          "input": "context.Context",
          "response": "void",
          "type": "local"
        },
        {
          "name": "ReportThrottlerHeartbeat",
          "name_key": "ThrottlerLifecycle.ReportThrottlerHeartbeat",
          "input": "context.Context",
          "response": "void",
          "type": "local"
        }
      ]
    },
    {
      "name": "ThrottlingService",
      "proto_file": "proto/control.proto",
      "methods": [
        {
          "name": "Throttle",
          "name_key": "ThrottlingService.Throttle",
          "request": "ThrottleReq",
          "response": "ThrottleResp",
          "type": "unary"
        },
        {
          "name": "Handover",
          "name_key": "ThrottlingService.Handover",
          "request": "HandoverReq",
          "response": "EmptyMessage",
          "type": "unary"
        }
      ]
    }
  ],
  "extensions": {}
}
