// Copyright IBM Corp. 2020, 2026
// SPDX-License-Identifier: MPL-2.0

syntax = "proto3";

package worker.proxy.v1;

import "google/protobuf/timestamp.proto";

option go_package = "github.com/hashicorp/boundary/sdk/pbs/proxy;proxy";

enum HANDSHAKECOMMAND {
  // Note: Unspecified is the desired zero value based on protolint, but for
  // our purposes it simply means a normal connection.
  HANDSHAKECOMMAND_UNSPECIFIED = 0;
  HANDSHAKECOMMAND_SESSION_CANCEL = 1;
}

message ClientHandshake {
  string tofu_token = 10;
  HANDSHAKECOMMAND command = 20;
}

message HandshakeResult {
  google.protobuf.Timestamp expiration = 10;
  int32 connection_limit = 20;
  int32 connections_left = 30;
}
