#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Body {
#[prost(bool, tag = "3")]
pub truncated: bool,
#[prost(oneof = "body::BodyType", tags = "1, 2")]
pub body_type: ::core::option::Option<body::BodyType>,
}
pub mod body {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum BodyType {
#[prost(bytes, tag = "1")]
AsBytes(::prost::alloc::vec::Vec<u8>),
#[prost(string, tag = "2")]
AsString(::prost::alloc::string::String),
}
}
impl ::prost::Name for Body {
const NAME: &'static str = "Body";
const PACKAGE: &'static str = "envoy.data.tap.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.data.tap.v3.Body".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.data.tap.v3.Body".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Connection {
#[prost(message, optional, tag = "1")]
pub local_address: ::core::option::Option<
super::super::super::config::core::v3::Address,
>,
#[prost(message, optional, tag = "2")]
pub remote_address: ::core::option::Option<
super::super::super::config::core::v3::Address,
>,
}
impl ::prost::Name for Connection {
const NAME: &'static str = "Connection";
const PACKAGE: &'static str = "envoy.data.tap.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.data.tap.v3.Connection".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.data.tap.v3.Connection".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HttpBufferedTrace {
#[prost(message, optional, tag = "1")]
pub request: ::core::option::Option<http_buffered_trace::Message>,
#[prost(message, optional, tag = "2")]
pub response: ::core::option::Option<http_buffered_trace::Message>,
#[prost(message, optional, tag = "3")]
pub downstream_connection: ::core::option::Option<Connection>,
#[prost(message, optional, tag = "4")]
pub upstream_connection: ::core::option::Option<Connection>,
}
pub mod http_buffered_trace {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Message {
#[prost(message, repeated, tag = "1")]
pub headers: ::prost::alloc::vec::Vec<
super::super::super::super::config::core::v3::HeaderValue,
>,
#[prost(message, optional, tag = "2")]
pub body: ::core::option::Option<super::Body>,
#[prost(message, repeated, tag = "3")]
pub trailers: ::prost::alloc::vec::Vec<
super::super::super::super::config::core::v3::HeaderValue,
>,
#[prost(message, optional, tag = "4")]
pub headers_received_time: ::core::option::Option<
super::super::super::super::super::google::protobuf::Timestamp,
>,
}
impl ::prost::Name for Message {
const NAME: &'static str = "Message";
const PACKAGE: &'static str = "envoy.data.tap.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.data.tap.v3.HttpBufferedTrace.Message".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.data.tap.v3.HttpBufferedTrace.Message".into()
}
}
}
impl ::prost::Name for HttpBufferedTrace {
const NAME: &'static str = "HttpBufferedTrace";
const PACKAGE: &'static str = "envoy.data.tap.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.data.tap.v3.HttpBufferedTrace".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.data.tap.v3.HttpBufferedTrace".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HttpStreamedTraceSegment {
#[prost(uint64, tag = "1")]
pub trace_id: u64,
#[prost(
oneof = "http_streamed_trace_segment::MessagePiece",
tags = "2, 3, 4, 5, 6, 7"
)]
pub message_piece: ::core::option::Option<http_streamed_trace_segment::MessagePiece>,
}
pub mod http_streamed_trace_segment {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum MessagePiece {
#[prost(message, tag = "2")]
RequestHeaders(super::super::super::super::config::core::v3::HeaderMap),
#[prost(message, tag = "3")]
RequestBodyChunk(super::Body),
#[prost(message, tag = "4")]
RequestTrailers(super::super::super::super::config::core::v3::HeaderMap),
#[prost(message, tag = "5")]
ResponseHeaders(super::super::super::super::config::core::v3::HeaderMap),
#[prost(message, tag = "6")]
ResponseBodyChunk(super::Body),
#[prost(message, tag = "7")]
ResponseTrailers(super::super::super::super::config::core::v3::HeaderMap),
}
}
impl ::prost::Name for HttpStreamedTraceSegment {
const NAME: &'static str = "HttpStreamedTraceSegment";
const PACKAGE: &'static str = "envoy.data.tap.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.data.tap.v3.HttpStreamedTraceSegment".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.data.tap.v3.HttpStreamedTraceSegment".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SocketEvent {
#[prost(message, optional, tag = "1")]
pub timestamp: ::core::option::Option<
super::super::super::super::google::protobuf::Timestamp,
>,
#[prost(message, optional, tag = "5")]
pub connection: ::core::option::Option<Connection>,
#[prost(uint64, tag = "6")]
pub seq_num: u64,
#[prost(oneof = "socket_event::EventSelector", tags = "2, 3, 4")]
pub event_selector: ::core::option::Option<socket_event::EventSelector>,
}
pub mod socket_event {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Read {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<super::Body>,
}
impl ::prost::Name for Read {
const NAME: &'static str = "Read";
const PACKAGE: &'static str = "envoy.data.tap.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.data.tap.v3.SocketEvent.Read".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.data.tap.v3.SocketEvent.Read".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Write {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<super::Body>,
#[prost(bool, tag = "2")]
pub end_stream: bool,
}
impl ::prost::Name for Write {
const NAME: &'static str = "Write";
const PACKAGE: &'static str = "envoy.data.tap.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.data.tap.v3.SocketEvent.Write".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.data.tap.v3.SocketEvent.Write".into()
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Closed {}
impl ::prost::Name for Closed {
const NAME: &'static str = "Closed";
const PACKAGE: &'static str = "envoy.data.tap.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.data.tap.v3.SocketEvent.Closed".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.data.tap.v3.SocketEvent.Closed".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum EventSelector {
#[prost(message, tag = "2")]
Read(Read),
#[prost(message, tag = "3")]
Write(Write),
#[prost(message, tag = "4")]
Closed(Closed),
}
}
impl ::prost::Name for SocketEvent {
const NAME: &'static str = "SocketEvent";
const PACKAGE: &'static str = "envoy.data.tap.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.data.tap.v3.SocketEvent".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.data.tap.v3.SocketEvent".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SocketBufferedTrace {
#[prost(uint64, tag = "1")]
pub trace_id: u64,
#[prost(message, optional, tag = "2")]
pub connection: ::core::option::Option<Connection>,
#[prost(message, repeated, tag = "3")]
pub events: ::prost::alloc::vec::Vec<SocketEvent>,
#[prost(bool, tag = "4")]
pub read_truncated: bool,
#[prost(bool, tag = "5")]
pub write_truncated: bool,
}
impl ::prost::Name for SocketBufferedTrace {
const NAME: &'static str = "SocketBufferedTrace";
const PACKAGE: &'static str = "envoy.data.tap.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.data.tap.v3.SocketBufferedTrace".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.data.tap.v3.SocketBufferedTrace".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SocketEvents {
#[prost(message, repeated, tag = "1")]
pub events: ::prost::alloc::vec::Vec<SocketEvent>,
}
impl ::prost::Name for SocketEvents {
const NAME: &'static str = "SocketEvents";
const PACKAGE: &'static str = "envoy.data.tap.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.data.tap.v3.SocketEvents".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.data.tap.v3.SocketEvents".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SocketStreamedTraceSegment {
#[prost(uint64, tag = "1")]
pub trace_id: u64,
#[prost(oneof = "socket_streamed_trace_segment::MessagePiece", tags = "2, 3, 4")]
pub message_piece: ::core::option::Option<
socket_streamed_trace_segment::MessagePiece,
>,
}
pub mod socket_streamed_trace_segment {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum MessagePiece {
#[prost(message, tag = "2")]
Connection(super::Connection),
#[prost(message, tag = "3")]
Event(super::SocketEvent),
#[prost(message, tag = "4")]
Events(super::SocketEvents),
}
}
impl ::prost::Name for SocketStreamedTraceSegment {
const NAME: &'static str = "SocketStreamedTraceSegment";
const PACKAGE: &'static str = "envoy.data.tap.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.data.tap.v3.SocketStreamedTraceSegment".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.data.tap.v3.SocketStreamedTraceSegment".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TraceWrapper {
#[prost(oneof = "trace_wrapper::Trace", tags = "1, 2, 3, 4")]
pub trace: ::core::option::Option<trace_wrapper::Trace>,
}
pub mod trace_wrapper {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Trace {
#[prost(message, tag = "1")]
HttpBufferedTrace(super::HttpBufferedTrace),
#[prost(message, tag = "2")]
HttpStreamedTraceSegment(super::HttpStreamedTraceSegment),
#[prost(message, tag = "3")]
SocketBufferedTrace(super::SocketBufferedTrace),
#[prost(message, tag = "4")]
SocketStreamedTraceSegment(super::SocketStreamedTraceSegment),
}
}
impl ::prost::Name for TraceWrapper {
const NAME: &'static str = "TraceWrapper";
const PACKAGE: &'static str = "envoy.data.tap.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.data.tap.v3.TraceWrapper".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.data.tap.v3.TraceWrapper".into()
}
}