| // Copyright 2024 Google LLC |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| syntax = "proto3"; |
| |
| package rpcreplay; |
| |
| option go_package = "cloud.google.com/go/rpcreplay/proto/rpcreplay"; |
| |
| import "google/protobuf/any.proto"; |
| |
| // An Entry represents a single RPC activity, typically a request or response. |
| message Entry { |
| enum Kind { |
| TYPE_UNSPECIFIED = 0; |
| |
| // A unary request. |
| // method: the full name of the method |
| // message: the request proto |
| // is_error: false |
| // ref_index: 0 |
| REQUEST = 1; |
| |
| // A unary response. |
| // method: the full name of the method |
| // message: |
| // if is_error: a google.rpc.Status proto |
| // else: the response proto |
| // ref_index: index in the sequence of Entries of matching request (1-based) |
| RESPONSE = 2; |
| |
| // A method that creates a stream. |
| // method: the full name of the method |
| // message: |
| // if is_error: a google.rpc.Status proto |
| // else: nil |
| // ref_index: 0 |
| CREATE_STREAM = 3; |
| |
| // A call to Send on the client returned by a stream-creating method. |
| // method: unset |
| // message: the proto being sent |
| // is_error: false |
| // ref_index: index of matching CREATE_STREAM entry (1-based) |
| SEND = 4; // message sent on stream |
| |
| // A call to Recv on the client returned by a stream-creating method. |
| // method: unset |
| // message: |
| // if is_error: a google.rpc.Status proto, or nil on EOF |
| // else: the received message |
| // ref_index: index of matching CREATE_STREAM entry |
| RECV = 5; // message received from stream |
| } |
| |
| Kind kind = 1; |
| string method = 2; // method name |
| google.protobuf.Any message = 3; // request, response or error status |
| bool is_error = 4; // was response an error? |
| int32 ref_index = 5; // for RESPONSE, index of matching request; |
| // for SEND/RECV, index of CREATE_STREAM |
| } |