{
  "repo": "tidbcloud/ffs",
  "binary": "zone-server",
  "binary_path": "cmd/zone-server/main.go",
  "surface_kind": "mixed_service",
  "type": "service",
  "services": [
    {
      "name": "ZoneLifecycle",
      "methods": [
        {
          "name": "ReportZoneHeartbeat",
          "name_key": "ZoneLifecycle.ReportZoneHeartbeat",
          "input": "context.Context",
          "response": "void",
          "type": "local"
        },
        {
          "name": "WatchRealmMetadata",
          "name_key": "ZoneLifecycle.WatchRealmMetadata",
          "input": "context.Context",
          "response": "void",
          "type": "local"
        },
        {
          "name": "WatchThrottlerMetadata",
          "name_key": "ZoneLifecycle.WatchThrottlerMetadata",
          "input": "context.Context",
          "response": "void",
          "type": "local"
        }
      ]
    },
    {
      "name": "ZoneService",
      "proto_file": "proto/control.proto",
      "methods": [
        {
          "name": "Locate",
          "name_key": "ZoneService.Locate",
          "request": "LocateReq",
          "response": "MountPoint",
          "type": "unary"
        },
        {
          "name": "RemoveMount",
          "name_key": "ZoneService.RemoveMount",
          "request": "RemoveMountReq",
          "response": "EmptyMessage",
          "type": "unary"
        },
        {
          "name": "GetRealm",
          "name_key": "ZoneService.GetRealm",
          "request": "GetRealmReq",
          "response": "Realm",
          "type": "unary"
        },
        {
          "name": "GetAllRealms",
          "name_key": "ZoneService.GetAllRealms",
          "request": "EmptyMessage",
          "response": "RealmsList",
          "type": "unary"
        },
        {
          "name": "GlobRealms",
          "name_key": "ZoneService.GlobRealms",
          "request": "GlobRealmsReq",
          "response": "RealmsList",
          "type": "unary"
        },
        {
          "name": "WatchRealms",
          "name_key": "ZoneService.WatchRealms",
          "request": "WatchRealmsReq",
          "response": "RealmsList",
          "type": "server_stream"
        },
        {
          "name": "RealmHeartbeat",
          "name_key": "ZoneService.RealmHeartbeat",
          "request": "RealmHeartbeatReq",
          "response": "RealmHeartbeatResp",
          "type": "unary"
        },
        {
          "name": "ThrottlerHeartbeat",
          "name_key": "ZoneService.ThrottlerHeartbeat",
          "request": "ThrottlerHeartbeatReq",
          "response": "ThrottlerHeartbeatResp",
          "type": "unary"
        }
      ]
    }
  ],
  "extensions": {}
}
