[READ ONLY MIRROR] Envoy REST/proto API definitions and documentation. (grpc依赖)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.6 KiB

syntax = "proto3";
// [#protodoc-title: Transport tap data]
// Trace format for the tap transport socket extension. This dumps plain text read/write
// sequences on a socket.
package envoy.data.tap.v2alpha;
option java_package = "io.envoyproxy.envoy.data.tap.v2alpha";
option go_package = "v2";
import "envoy/api/v2/core/address.proto";
import "google/protobuf/timestamp.proto";
// Connection properties.
message Connection {
// Global unique connection ID for Envoy session. Matches connection IDs used
// in Envoy logs.
uint64 id = 1;
// Local address.
envoy.api.v2.core.Address local_address = 2;
// Remote address.
envoy.api.v2.core.Address remote_address = 3;
}
// Event in a socket trace.
message SocketEvent {
// Timestamp for event.
google.protobuf.Timestamp timestamp = 1;
// Data read by Envoy from the transport socket.
message Read {
// Binary data read.
bytes data = 1;
// TODO(htuch): Half-close for reads.
}
// Data written by Envoy to the transport socket.
message Write {
// Binary data written.
bytes data = 1;
// Stream was half closed after this write.
bool end_stream = 2;
}
// Read or write with content as bytes string.
oneof event_selector {
Read read = 2;
Write write = 3;
}
}
// Sequence of read/write events that constitute a trace on a socket.
// Multiple Trace messages might be emitted for a given connection ID, with the
// sink (e.g. file set, network) responsible for later reassembly.
message SocketTrace {
// Connection properties.
Connection connection = 1;
// Sequence of observed events.
repeated SocketEvent events = 2;
}