All Downloads are FREE. Search and download functionalities are using the official Maven repository.

envoy.data.tap.v2alpha.transport.proto Maven / Gradle / Ivy

There is a newer version: 1.0.47
Show newest version
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_outer_classname = "TransportProto";
option java_multiple_files = true;
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;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy