// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelayMessageFrame {
    #[prost(uint32, tag = "1")]
    pub version: u32,
    #[prost(string, tag = "2")]
    pub stream_id: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub ack: u32,
    #[prost(uint32, tag = "4")]
    pub ack_bits: u32,
    #[prost(oneof = "relay_message_frame::Body", tags = "5, 6, 7, 8, 9")]
    pub body: ::core::option::Option<relay_message_frame::Body>,
}
pub mod relay_message_frame {
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Body {
        #[prost(message, tag = "5")]
        Data(super::RelayData),
        #[prost(message, tag = "6")]
        AckFrame(super::RelayAck),
        #[prost(message, tag = "7")]
        Resume(super::RelayResume),
        #[prost(message, tag = "8")]
        Reset(super::RelayReset),
        #[prost(message, tag = "9")]
        Heartbeat(super::RelayHeartbeat),
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelayData {
    #[prost(uint32, tag = "1")]
    pub seq: u32,
    #[prost(uint32, tag = "2")]
    pub segment_index: u32,
    #[prost(uint32, tag = "3")]
    pub segment_count: u32,
    #[prost(bytes = "vec", tag = "4")]
    pub payload: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelayAck {}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelayResume {
    #[prost(uint32, tag = "1")]
    pub next_seq: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelayReset {
    #[prost(string, tag = "1")]
    pub reason: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelayHeartbeat {}
