// This file is generated by rust-protobuf 3.3.0. Do not edit
// .proto file is parsed by protoc --rust-out=...
// @generated

// https://github.com/rust-lang/rust-clippy/issues/702
#![allow(unknown_lints)]
#![allow(clippy::all)]

#![allow(unused_attributes)]
#![cfg_attr(rustfmt, rustfmt::skip)]

#![allow(box_pointers)]
#![allow(dead_code)]
#![allow(missing_docs)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(non_upper_case_globals)]
#![allow(trivial_casts)]
#![allow(unused_results)]
#![allow(unused_mut)]

//! Generated file from `sp_bus.proto`

/// Generated files are compatible only with the same version
/// of protobuf runtime.
const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_3_0;

///  Type used by `server` for broadcasting events to other nodes
// @@protoc_insertion_point(message:protos.BusEvent)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct BusEvent {
    // message fields
    // @@protoc_insertion_point(field:protos.BusEvent.source)
    pub source: ::std::string::String,
    // @@protoc_insertion_point(field:protos.BusEvent._metadata)
    pub _metadata: ::std::collections::HashMap<::std::string::String, ::std::string::String>,
    // message oneof groups
    pub event: ::std::option::Option<bus_event::Event>,
    // special fields
    // @@protoc_insertion_point(special_field:protos.BusEvent.special_fields)
    pub special_fields: ::protobuf::SpecialFields,
}

impl<'a> ::std::default::Default for &'a BusEvent {
    fn default() -> &'a BusEvent {
        <BusEvent as ::protobuf::Message>::default_instance()
    }
}

impl BusEvent {
    pub fn new() -> BusEvent {
        ::std::default::Default::default()
    }

    // .protos.RegisterRequest register_request = 100;

    pub fn register_request(&self) -> &super::sp_internal::RegisterRequest {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::RegisterRequest(ref v)) => v,
            _ => <super::sp_internal::RegisterRequest as ::protobuf::Message>::default_instance(),
        }
    }

    pub fn clear_register_request(&mut self) {
        self.event = ::std::option::Option::None;
    }

    pub fn has_register_request(&self) -> bool {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::RegisterRequest(..)) => true,
            _ => false,
        }
    }

    // Param is passed by value, moved
    pub fn set_register_request(&mut self, v: super::sp_internal::RegisterRequest) {
        self.event = ::std::option::Option::Some(bus_event::Event::RegisterRequest(v))
    }

    // Mutable pointer to the field.
    pub fn mut_register_request(&mut self) -> &mut super::sp_internal::RegisterRequest {
        if let ::std::option::Option::Some(bus_event::Event::RegisterRequest(_)) = self.event {
        } else {
            self.event = ::std::option::Option::Some(bus_event::Event::RegisterRequest(super::sp_internal::RegisterRequest::new()));
        }
        match self.event {
            ::std::option::Option::Some(bus_event::Event::RegisterRequest(ref mut v)) => v,
            _ => panic!(),
        }
    }

    // Take field
    pub fn take_register_request(&mut self) -> super::sp_internal::RegisterRequest {
        if self.has_register_request() {
            match self.event.take() {
                ::std::option::Option::Some(bus_event::Event::RegisterRequest(v)) => v,
                _ => panic!(),
            }
        } else {
            super::sp_internal::RegisterRequest::new()
        }
    }

    // .protos.DeregisterRequest deregister_request = 101;

    pub fn deregister_request(&self) -> &super::sp_internal::DeregisterRequest {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::DeregisterRequest(ref v)) => v,
            _ => <super::sp_internal::DeregisterRequest as ::protobuf::Message>::default_instance(),
        }
    }

    pub fn clear_deregister_request(&mut self) {
        self.event = ::std::option::Option::None;
    }

    pub fn has_deregister_request(&self) -> bool {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::DeregisterRequest(..)) => true,
            _ => false,
        }
    }

    // Param is passed by value, moved
    pub fn set_deregister_request(&mut self, v: super::sp_internal::DeregisterRequest) {
        self.event = ::std::option::Option::Some(bus_event::Event::DeregisterRequest(v))
    }

    // Mutable pointer to the field.
    pub fn mut_deregister_request(&mut self) -> &mut super::sp_internal::DeregisterRequest {
        if let ::std::option::Option::Some(bus_event::Event::DeregisterRequest(_)) = self.event {
        } else {
            self.event = ::std::option::Option::Some(bus_event::Event::DeregisterRequest(super::sp_internal::DeregisterRequest::new()));
        }
        match self.event {
            ::std::option::Option::Some(bus_event::Event::DeregisterRequest(ref mut v)) => v,
            _ => panic!(),
        }
    }

    // Take field
    pub fn take_deregister_request(&mut self) -> super::sp_internal::DeregisterRequest {
        if self.has_deregister_request() {
            match self.event.take() {
                ::std::option::Option::Some(bus_event::Event::DeregisterRequest(v)) => v,
                _ => panic!(),
            }
        } else {
            super::sp_internal::DeregisterRequest::new()
        }
    }

    // .protos.CreatePipelineRequest create_pipeline_request = 102;

    pub fn create_pipeline_request(&self) -> &super::sp_external::CreatePipelineRequest {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::CreatePipelineRequest(ref v)) => v,
            _ => <super::sp_external::CreatePipelineRequest as ::protobuf::Message>::default_instance(),
        }
    }

    pub fn clear_create_pipeline_request(&mut self) {
        self.event = ::std::option::Option::None;
    }

    pub fn has_create_pipeline_request(&self) -> bool {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::CreatePipelineRequest(..)) => true,
            _ => false,
        }
    }

    // Param is passed by value, moved
    pub fn set_create_pipeline_request(&mut self, v: super::sp_external::CreatePipelineRequest) {
        self.event = ::std::option::Option::Some(bus_event::Event::CreatePipelineRequest(v))
    }

    // Mutable pointer to the field.
    pub fn mut_create_pipeline_request(&mut self) -> &mut super::sp_external::CreatePipelineRequest {
        if let ::std::option::Option::Some(bus_event::Event::CreatePipelineRequest(_)) = self.event {
        } else {
            self.event = ::std::option::Option::Some(bus_event::Event::CreatePipelineRequest(super::sp_external::CreatePipelineRequest::new()));
        }
        match self.event {
            ::std::option::Option::Some(bus_event::Event::CreatePipelineRequest(ref mut v)) => v,
            _ => panic!(),
        }
    }

    // Take field
    pub fn take_create_pipeline_request(&mut self) -> super::sp_external::CreatePipelineRequest {
        if self.has_create_pipeline_request() {
            match self.event.take() {
                ::std::option::Option::Some(bus_event::Event::CreatePipelineRequest(v)) => v,
                _ => panic!(),
            }
        } else {
            super::sp_external::CreatePipelineRequest::new()
        }
    }

    // .protos.DeletePipelineRequest delete_pipeline_request = 103;

    pub fn delete_pipeline_request(&self) -> &super::sp_external::DeletePipelineRequest {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::DeletePipelineRequest(ref v)) => v,
            _ => <super::sp_external::DeletePipelineRequest as ::protobuf::Message>::default_instance(),
        }
    }

    pub fn clear_delete_pipeline_request(&mut self) {
        self.event = ::std::option::Option::None;
    }

    pub fn has_delete_pipeline_request(&self) -> bool {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::DeletePipelineRequest(..)) => true,
            _ => false,
        }
    }

    // Param is passed by value, moved
    pub fn set_delete_pipeline_request(&mut self, v: super::sp_external::DeletePipelineRequest) {
        self.event = ::std::option::Option::Some(bus_event::Event::DeletePipelineRequest(v))
    }

    // Mutable pointer to the field.
    pub fn mut_delete_pipeline_request(&mut self) -> &mut super::sp_external::DeletePipelineRequest {
        if let ::std::option::Option::Some(bus_event::Event::DeletePipelineRequest(_)) = self.event {
        } else {
            self.event = ::std::option::Option::Some(bus_event::Event::DeletePipelineRequest(super::sp_external::DeletePipelineRequest::new()));
        }
        match self.event {
            ::std::option::Option::Some(bus_event::Event::DeletePipelineRequest(ref mut v)) => v,
            _ => panic!(),
        }
    }

    // Take field
    pub fn take_delete_pipeline_request(&mut self) -> super::sp_external::DeletePipelineRequest {
        if self.has_delete_pipeline_request() {
            match self.event.take() {
                ::std::option::Option::Some(bus_event::Event::DeletePipelineRequest(v)) => v,
                _ => panic!(),
            }
        } else {
            super::sp_external::DeletePipelineRequest::new()
        }
    }

    // .protos.UpdatePipelineRequest update_pipeline_request = 104;

    pub fn update_pipeline_request(&self) -> &super::sp_external::UpdatePipelineRequest {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::UpdatePipelineRequest(ref v)) => v,
            _ => <super::sp_external::UpdatePipelineRequest as ::protobuf::Message>::default_instance(),
        }
    }

    pub fn clear_update_pipeline_request(&mut self) {
        self.event = ::std::option::Option::None;
    }

    pub fn has_update_pipeline_request(&self) -> bool {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::UpdatePipelineRequest(..)) => true,
            _ => false,
        }
    }

    // Param is passed by value, moved
    pub fn set_update_pipeline_request(&mut self, v: super::sp_external::UpdatePipelineRequest) {
        self.event = ::std::option::Option::Some(bus_event::Event::UpdatePipelineRequest(v))
    }

    // Mutable pointer to the field.
    pub fn mut_update_pipeline_request(&mut self) -> &mut super::sp_external::UpdatePipelineRequest {
        if let ::std::option::Option::Some(bus_event::Event::UpdatePipelineRequest(_)) = self.event {
        } else {
            self.event = ::std::option::Option::Some(bus_event::Event::UpdatePipelineRequest(super::sp_external::UpdatePipelineRequest::new()));
        }
        match self.event {
            ::std::option::Option::Some(bus_event::Event::UpdatePipelineRequest(ref mut v)) => v,
            _ => panic!(),
        }
    }

    // Take field
    pub fn take_update_pipeline_request(&mut self) -> super::sp_external::UpdatePipelineRequest {
        if self.has_update_pipeline_request() {
            match self.event.take() {
                ::std::option::Option::Some(bus_event::Event::UpdatePipelineRequest(v)) => v,
                _ => panic!(),
            }
        } else {
            super::sp_external::UpdatePipelineRequest::new()
        }
    }

    // .protos.AttachPipelineRequest attach_pipeline_request = 105;

    pub fn attach_pipeline_request(&self) -> &super::sp_external::AttachPipelineRequest {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::AttachPipelineRequest(ref v)) => v,
            _ => <super::sp_external::AttachPipelineRequest as ::protobuf::Message>::default_instance(),
        }
    }

    pub fn clear_attach_pipeline_request(&mut self) {
        self.event = ::std::option::Option::None;
    }

    pub fn has_attach_pipeline_request(&self) -> bool {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::AttachPipelineRequest(..)) => true,
            _ => false,
        }
    }

    // Param is passed by value, moved
    pub fn set_attach_pipeline_request(&mut self, v: super::sp_external::AttachPipelineRequest) {
        self.event = ::std::option::Option::Some(bus_event::Event::AttachPipelineRequest(v))
    }

    // Mutable pointer to the field.
    pub fn mut_attach_pipeline_request(&mut self) -> &mut super::sp_external::AttachPipelineRequest {
        if let ::std::option::Option::Some(bus_event::Event::AttachPipelineRequest(_)) = self.event {
        } else {
            self.event = ::std::option::Option::Some(bus_event::Event::AttachPipelineRequest(super::sp_external::AttachPipelineRequest::new()));
        }
        match self.event {
            ::std::option::Option::Some(bus_event::Event::AttachPipelineRequest(ref mut v)) => v,
            _ => panic!(),
        }
    }

    // Take field
    pub fn take_attach_pipeline_request(&mut self) -> super::sp_external::AttachPipelineRequest {
        if self.has_attach_pipeline_request() {
            match self.event.take() {
                ::std::option::Option::Some(bus_event::Event::AttachPipelineRequest(v)) => v,
                _ => panic!(),
            }
        } else {
            super::sp_external::AttachPipelineRequest::new()
        }
    }

    // .protos.DetachPipelineRequest detach_pipeline_request = 106;

    pub fn detach_pipeline_request(&self) -> &super::sp_external::DetachPipelineRequest {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::DetachPipelineRequest(ref v)) => v,
            _ => <super::sp_external::DetachPipelineRequest as ::protobuf::Message>::default_instance(),
        }
    }

    pub fn clear_detach_pipeline_request(&mut self) {
        self.event = ::std::option::Option::None;
    }

    pub fn has_detach_pipeline_request(&self) -> bool {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::DetachPipelineRequest(..)) => true,
            _ => false,
        }
    }

    // Param is passed by value, moved
    pub fn set_detach_pipeline_request(&mut self, v: super::sp_external::DetachPipelineRequest) {
        self.event = ::std::option::Option::Some(bus_event::Event::DetachPipelineRequest(v))
    }

    // Mutable pointer to the field.
    pub fn mut_detach_pipeline_request(&mut self) -> &mut super::sp_external::DetachPipelineRequest {
        if let ::std::option::Option::Some(bus_event::Event::DetachPipelineRequest(_)) = self.event {
        } else {
            self.event = ::std::option::Option::Some(bus_event::Event::DetachPipelineRequest(super::sp_external::DetachPipelineRequest::new()));
        }
        match self.event {
            ::std::option::Option::Some(bus_event::Event::DetachPipelineRequest(ref mut v)) => v,
            _ => panic!(),
        }
    }

    // Take field
    pub fn take_detach_pipeline_request(&mut self) -> super::sp_external::DetachPipelineRequest {
        if self.has_detach_pipeline_request() {
            match self.event.take() {
                ::std::option::Option::Some(bus_event::Event::DetachPipelineRequest(v)) => v,
                _ => panic!(),
            }
        } else {
            super::sp_external::DetachPipelineRequest::new()
        }
    }

    // .protos.PausePipelineRequest pause_pipeline_request = 107;

    pub fn pause_pipeline_request(&self) -> &super::sp_external::PausePipelineRequest {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::PausePipelineRequest(ref v)) => v,
            _ => <super::sp_external::PausePipelineRequest as ::protobuf::Message>::default_instance(),
        }
    }

    pub fn clear_pause_pipeline_request(&mut self) {
        self.event = ::std::option::Option::None;
    }

    pub fn has_pause_pipeline_request(&self) -> bool {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::PausePipelineRequest(..)) => true,
            _ => false,
        }
    }

    // Param is passed by value, moved
    pub fn set_pause_pipeline_request(&mut self, v: super::sp_external::PausePipelineRequest) {
        self.event = ::std::option::Option::Some(bus_event::Event::PausePipelineRequest(v))
    }

    // Mutable pointer to the field.
    pub fn mut_pause_pipeline_request(&mut self) -> &mut super::sp_external::PausePipelineRequest {
        if let ::std::option::Option::Some(bus_event::Event::PausePipelineRequest(_)) = self.event {
        } else {
            self.event = ::std::option::Option::Some(bus_event::Event::PausePipelineRequest(super::sp_external::PausePipelineRequest::new()));
        }
        match self.event {
            ::std::option::Option::Some(bus_event::Event::PausePipelineRequest(ref mut v)) => v,
            _ => panic!(),
        }
    }

    // Take field
    pub fn take_pause_pipeline_request(&mut self) -> super::sp_external::PausePipelineRequest {
        if self.has_pause_pipeline_request() {
            match self.event.take() {
                ::std::option::Option::Some(bus_event::Event::PausePipelineRequest(v)) => v,
                _ => panic!(),
            }
        } else {
            super::sp_external::PausePipelineRequest::new()
        }
    }

    // .protos.ResumePipelineRequest resume_pipeline_request = 108;

    pub fn resume_pipeline_request(&self) -> &super::sp_external::ResumePipelineRequest {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::ResumePipelineRequest(ref v)) => v,
            _ => <super::sp_external::ResumePipelineRequest as ::protobuf::Message>::default_instance(),
        }
    }

    pub fn clear_resume_pipeline_request(&mut self) {
        self.event = ::std::option::Option::None;
    }

    pub fn has_resume_pipeline_request(&self) -> bool {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::ResumePipelineRequest(..)) => true,
            _ => false,
        }
    }

    // Param is passed by value, moved
    pub fn set_resume_pipeline_request(&mut self, v: super::sp_external::ResumePipelineRequest) {
        self.event = ::std::option::Option::Some(bus_event::Event::ResumePipelineRequest(v))
    }

    // Mutable pointer to the field.
    pub fn mut_resume_pipeline_request(&mut self) -> &mut super::sp_external::ResumePipelineRequest {
        if let ::std::option::Option::Some(bus_event::Event::ResumePipelineRequest(_)) = self.event {
        } else {
            self.event = ::std::option::Option::Some(bus_event::Event::ResumePipelineRequest(super::sp_external::ResumePipelineRequest::new()));
        }
        match self.event {
            ::std::option::Option::Some(bus_event::Event::ResumePipelineRequest(ref mut v)) => v,
            _ => panic!(),
        }
    }

    // Take field
    pub fn take_resume_pipeline_request(&mut self) -> super::sp_external::ResumePipelineRequest {
        if self.has_resume_pipeline_request() {
            match self.event.take() {
                ::std::option::Option::Some(bus_event::Event::ResumePipelineRequest(v)) => v,
                _ => panic!(),
            }
        } else {
            super::sp_external::ResumePipelineRequest::new()
        }
    }

    // .protos.MetricsRequest metrics_request = 109;

    pub fn metrics_request(&self) -> &super::sp_internal::MetricsRequest {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::MetricsRequest(ref v)) => v,
            _ => <super::sp_internal::MetricsRequest as ::protobuf::Message>::default_instance(),
        }
    }

    pub fn clear_metrics_request(&mut self) {
        self.event = ::std::option::Option::None;
    }

    pub fn has_metrics_request(&self) -> bool {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::MetricsRequest(..)) => true,
            _ => false,
        }
    }

    // Param is passed by value, moved
    pub fn set_metrics_request(&mut self, v: super::sp_internal::MetricsRequest) {
        self.event = ::std::option::Option::Some(bus_event::Event::MetricsRequest(v))
    }

    // Mutable pointer to the field.
    pub fn mut_metrics_request(&mut self) -> &mut super::sp_internal::MetricsRequest {
        if let ::std::option::Option::Some(bus_event::Event::MetricsRequest(_)) = self.event {
        } else {
            self.event = ::std::option::Option::Some(bus_event::Event::MetricsRequest(super::sp_internal::MetricsRequest::new()));
        }
        match self.event {
            ::std::option::Option::Some(bus_event::Event::MetricsRequest(ref mut v)) => v,
            _ => panic!(),
        }
    }

    // Take field
    pub fn take_metrics_request(&mut self) -> super::sp_internal::MetricsRequest {
        if self.has_metrics_request() {
            match self.event.take() {
                ::std::option::Option::Some(bus_event::Event::MetricsRequest(v)) => v,
                _ => panic!(),
            }
        } else {
            super::sp_internal::MetricsRequest::new()
        }
    }

    // .protos.KVRequest kv_request = 110;

    pub fn kv_request(&self) -> &super::sp_kv::KVRequest {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::KvRequest(ref v)) => v,
            _ => <super::sp_kv::KVRequest as ::protobuf::Message>::default_instance(),
        }
    }

    pub fn clear_kv_request(&mut self) {
        self.event = ::std::option::Option::None;
    }

    pub fn has_kv_request(&self) -> bool {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::KvRequest(..)) => true,
            _ => false,
        }
    }

    // Param is passed by value, moved
    pub fn set_kv_request(&mut self, v: super::sp_kv::KVRequest) {
        self.event = ::std::option::Option::Some(bus_event::Event::KvRequest(v))
    }

    // Mutable pointer to the field.
    pub fn mut_kv_request(&mut self) -> &mut super::sp_kv::KVRequest {
        if let ::std::option::Option::Some(bus_event::Event::KvRequest(_)) = self.event {
        } else {
            self.event = ::std::option::Option::Some(bus_event::Event::KvRequest(super::sp_kv::KVRequest::new()));
        }
        match self.event {
            ::std::option::Option::Some(bus_event::Event::KvRequest(ref mut v)) => v,
            _ => panic!(),
        }
    }

    // Take field
    pub fn take_kv_request(&mut self) -> super::sp_kv::KVRequest {
        if self.has_kv_request() {
            match self.event.take() {
                ::std::option::Option::Some(bus_event::Event::KvRequest(v)) => v,
                _ => panic!(),
            }
        } else {
            super::sp_kv::KVRequest::new()
        }
    }

    // .protos.DeleteAudienceRequest delete_audience_request = 111;

    pub fn delete_audience_request(&self) -> &super::sp_external::DeleteAudienceRequest {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::DeleteAudienceRequest(ref v)) => v,
            _ => <super::sp_external::DeleteAudienceRequest as ::protobuf::Message>::default_instance(),
        }
    }

    pub fn clear_delete_audience_request(&mut self) {
        self.event = ::std::option::Option::None;
    }

    pub fn has_delete_audience_request(&self) -> bool {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::DeleteAudienceRequest(..)) => true,
            _ => false,
        }
    }

    // Param is passed by value, moved
    pub fn set_delete_audience_request(&mut self, v: super::sp_external::DeleteAudienceRequest) {
        self.event = ::std::option::Option::Some(bus_event::Event::DeleteAudienceRequest(v))
    }

    // Mutable pointer to the field.
    pub fn mut_delete_audience_request(&mut self) -> &mut super::sp_external::DeleteAudienceRequest {
        if let ::std::option::Option::Some(bus_event::Event::DeleteAudienceRequest(_)) = self.event {
        } else {
            self.event = ::std::option::Option::Some(bus_event::Event::DeleteAudienceRequest(super::sp_external::DeleteAudienceRequest::new()));
        }
        match self.event {
            ::std::option::Option::Some(bus_event::Event::DeleteAudienceRequest(ref mut v)) => v,
            _ => panic!(),
        }
    }

    // Take field
    pub fn take_delete_audience_request(&mut self) -> super::sp_external::DeleteAudienceRequest {
        if self.has_delete_audience_request() {
            match self.event.take() {
                ::std::option::Option::Some(bus_event::Event::DeleteAudienceRequest(v)) => v,
                _ => panic!(),
            }
        } else {
            super::sp_external::DeleteAudienceRequest::new()
        }
    }

    // .protos.NewAudienceRequest new_audience_request = 112;

    pub fn new_audience_request(&self) -> &super::sp_internal::NewAudienceRequest {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::NewAudienceRequest(ref v)) => v,
            _ => <super::sp_internal::NewAudienceRequest as ::protobuf::Message>::default_instance(),
        }
    }

    pub fn clear_new_audience_request(&mut self) {
        self.event = ::std::option::Option::None;
    }

    pub fn has_new_audience_request(&self) -> bool {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::NewAudienceRequest(..)) => true,
            _ => false,
        }
    }

    // Param is passed by value, moved
    pub fn set_new_audience_request(&mut self, v: super::sp_internal::NewAudienceRequest) {
        self.event = ::std::option::Option::Some(bus_event::Event::NewAudienceRequest(v))
    }

    // Mutable pointer to the field.
    pub fn mut_new_audience_request(&mut self) -> &mut super::sp_internal::NewAudienceRequest {
        if let ::std::option::Option::Some(bus_event::Event::NewAudienceRequest(_)) = self.event {
        } else {
            self.event = ::std::option::Option::Some(bus_event::Event::NewAudienceRequest(super::sp_internal::NewAudienceRequest::new()));
        }
        match self.event {
            ::std::option::Option::Some(bus_event::Event::NewAudienceRequest(ref mut v)) => v,
            _ => panic!(),
        }
    }

    // Take field
    pub fn take_new_audience_request(&mut self) -> super::sp_internal::NewAudienceRequest {
        if self.has_new_audience_request() {
            match self.event.take() {
                ::std::option::Option::Some(bus_event::Event::NewAudienceRequest(v)) => v,
                _ => panic!(),
            }
        } else {
            super::sp_internal::NewAudienceRequest::new()
        }
    }

    // .protos.TailRequest tail_request = 113;

    pub fn tail_request(&self) -> &super::sp_common::TailRequest {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::TailRequest(ref v)) => v,
            _ => <super::sp_common::TailRequest as ::protobuf::Message>::default_instance(),
        }
    }

    pub fn clear_tail_request(&mut self) {
        self.event = ::std::option::Option::None;
    }

    pub fn has_tail_request(&self) -> bool {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::TailRequest(..)) => true,
            _ => false,
        }
    }

    // Param is passed by value, moved
    pub fn set_tail_request(&mut self, v: super::sp_common::TailRequest) {
        self.event = ::std::option::Option::Some(bus_event::Event::TailRequest(v))
    }

    // Mutable pointer to the field.
    pub fn mut_tail_request(&mut self) -> &mut super::sp_common::TailRequest {
        if let ::std::option::Option::Some(bus_event::Event::TailRequest(_)) = self.event {
        } else {
            self.event = ::std::option::Option::Some(bus_event::Event::TailRequest(super::sp_common::TailRequest::new()));
        }
        match self.event {
            ::std::option::Option::Some(bus_event::Event::TailRequest(ref mut v)) => v,
            _ => panic!(),
        }
    }

    // Take field
    pub fn take_tail_request(&mut self) -> super::sp_common::TailRequest {
        if self.has_tail_request() {
            match self.event.take() {
                ::std::option::Option::Some(bus_event::Event::TailRequest(v)) => v,
                _ => panic!(),
            }
        } else {
            super::sp_common::TailRequest::new()
        }
    }

    // .protos.TailResponse tail_response = 114;

    pub fn tail_response(&self) -> &super::sp_common::TailResponse {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::TailResponse(ref v)) => v,
            _ => <super::sp_common::TailResponse as ::protobuf::Message>::default_instance(),
        }
    }

    pub fn clear_tail_response(&mut self) {
        self.event = ::std::option::Option::None;
    }

    pub fn has_tail_response(&self) -> bool {
        match self.event {
            ::std::option::Option::Some(bus_event::Event::TailResponse(..)) => true,
            _ => false,
        }
    }

    // Param is passed by value, moved
    pub fn set_tail_response(&mut self, v: super::sp_common::TailResponse) {
        self.event = ::std::option::Option::Some(bus_event::Event::TailResponse(v))
    }

    // Mutable pointer to the field.
    pub fn mut_tail_response(&mut self) -> &mut super::sp_common::TailResponse {
        if let ::std::option::Option::Some(bus_event::Event::TailResponse(_)) = self.event {
        } else {
            self.event = ::std::option::Option::Some(bus_event::Event::TailResponse(super::sp_common::TailResponse::new()));
        }
        match self.event {
            ::std::option::Option::Some(bus_event::Event::TailResponse(ref mut v)) => v,
            _ => panic!(),
        }
    }

    // Take field
    pub fn take_tail_response(&mut self) -> super::sp_common::TailResponse {
        if self.has_tail_response() {
            match self.event.take() {
                ::std::option::Option::Some(bus_event::Event::TailResponse(v)) => v,
                _ => panic!(),
            }
        } else {
            super::sp_common::TailResponse::new()
        }
    }

    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
        let mut fields = ::std::vec::Vec::with_capacity(17);
        let mut oneofs = ::std::vec::Vec::with_capacity(1);
        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
            "source",
            |m: &BusEvent| { &m.source },
            |m: &mut BusEvent| { &mut m.source },
        ));
        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::sp_internal::RegisterRequest>(
            "register_request",
            BusEvent::has_register_request,
            BusEvent::register_request,
            BusEvent::mut_register_request,
            BusEvent::set_register_request,
        ));
        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::sp_internal::DeregisterRequest>(
            "deregister_request",
            BusEvent::has_deregister_request,
            BusEvent::deregister_request,
            BusEvent::mut_deregister_request,
            BusEvent::set_deregister_request,
        ));
        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::sp_external::CreatePipelineRequest>(
            "create_pipeline_request",
            BusEvent::has_create_pipeline_request,
            BusEvent::create_pipeline_request,
            BusEvent::mut_create_pipeline_request,
            BusEvent::set_create_pipeline_request,
        ));
        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::sp_external::DeletePipelineRequest>(
            "delete_pipeline_request",
            BusEvent::has_delete_pipeline_request,
            BusEvent::delete_pipeline_request,
            BusEvent::mut_delete_pipeline_request,
            BusEvent::set_delete_pipeline_request,
        ));
        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::sp_external::UpdatePipelineRequest>(
            "update_pipeline_request",
            BusEvent::has_update_pipeline_request,
            BusEvent::update_pipeline_request,
            BusEvent::mut_update_pipeline_request,
            BusEvent::set_update_pipeline_request,
        ));
        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::sp_external::AttachPipelineRequest>(
            "attach_pipeline_request",
            BusEvent::has_attach_pipeline_request,
            BusEvent::attach_pipeline_request,
            BusEvent::mut_attach_pipeline_request,
            BusEvent::set_attach_pipeline_request,
        ));
        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::sp_external::DetachPipelineRequest>(
            "detach_pipeline_request",
            BusEvent::has_detach_pipeline_request,
            BusEvent::detach_pipeline_request,
            BusEvent::mut_detach_pipeline_request,
            BusEvent::set_detach_pipeline_request,
        ));
        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::sp_external::PausePipelineRequest>(
            "pause_pipeline_request",
            BusEvent::has_pause_pipeline_request,
            BusEvent::pause_pipeline_request,
            BusEvent::mut_pause_pipeline_request,
            BusEvent::set_pause_pipeline_request,
        ));
        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::sp_external::ResumePipelineRequest>(
            "resume_pipeline_request",
            BusEvent::has_resume_pipeline_request,
            BusEvent::resume_pipeline_request,
            BusEvent::mut_resume_pipeline_request,
            BusEvent::set_resume_pipeline_request,
        ));
        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::sp_internal::MetricsRequest>(
            "metrics_request",
            BusEvent::has_metrics_request,
            BusEvent::metrics_request,
            BusEvent::mut_metrics_request,
            BusEvent::set_metrics_request,
        ));
        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::sp_kv::KVRequest>(
            "kv_request",
            BusEvent::has_kv_request,
            BusEvent::kv_request,
            BusEvent::mut_kv_request,
            BusEvent::set_kv_request,
        ));
        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::sp_external::DeleteAudienceRequest>(
            "delete_audience_request",
            BusEvent::has_delete_audience_request,
            BusEvent::delete_audience_request,
            BusEvent::mut_delete_audience_request,
            BusEvent::set_delete_audience_request,
        ));
        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::sp_internal::NewAudienceRequest>(
            "new_audience_request",
            BusEvent::has_new_audience_request,
            BusEvent::new_audience_request,
            BusEvent::mut_new_audience_request,
            BusEvent::set_new_audience_request,
        ));
        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::sp_common::TailRequest>(
            "tail_request",
            BusEvent::has_tail_request,
            BusEvent::tail_request,
            BusEvent::mut_tail_request,
            BusEvent::set_tail_request,
        ));
        fields.push(::protobuf::reflect::rt::v2::make_oneof_message_has_get_mut_set_accessor::<_, super::sp_common::TailResponse>(
            "tail_response",
            BusEvent::has_tail_response,
            BusEvent::tail_response,
            BusEvent::mut_tail_response,
            BusEvent::set_tail_response,
        ));
        fields.push(::protobuf::reflect::rt::v2::make_map_simpler_accessor::<_, _, _>(
            "_metadata",
            |m: &BusEvent| { &m._metadata },
            |m: &mut BusEvent| { &mut m._metadata },
        ));
        oneofs.push(bus_event::Event::generated_oneof_descriptor_data());
        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<BusEvent>(
            "BusEvent",
            fields,
            oneofs,
        )
    }
}

impl ::protobuf::Message for BusEvent {
    const NAME: &'static str = "BusEvent";

    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
        while let Some(tag) = is.read_raw_tag_or_eof()? {
            match tag {
                10 => {
                    self.source = is.read_string()?;
                },
                802 => {
                    self.event = ::std::option::Option::Some(bus_event::Event::RegisterRequest(is.read_message()?));
                },
                810 => {
                    self.event = ::std::option::Option::Some(bus_event::Event::DeregisterRequest(is.read_message()?));
                },
                818 => {
                    self.event = ::std::option::Option::Some(bus_event::Event::CreatePipelineRequest(is.read_message()?));
                },
                826 => {
                    self.event = ::std::option::Option::Some(bus_event::Event::DeletePipelineRequest(is.read_message()?));
                },
                834 => {
                    self.event = ::std::option::Option::Some(bus_event::Event::UpdatePipelineRequest(is.read_message()?));
                },
                842 => {
                    self.event = ::std::option::Option::Some(bus_event::Event::AttachPipelineRequest(is.read_message()?));
                },
                850 => {
                    self.event = ::std::option::Option::Some(bus_event::Event::DetachPipelineRequest(is.read_message()?));
                },
                858 => {
                    self.event = ::std::option::Option::Some(bus_event::Event::PausePipelineRequest(is.read_message()?));
                },
                866 => {
                    self.event = ::std::option::Option::Some(bus_event::Event::ResumePipelineRequest(is.read_message()?));
                },
                874 => {
                    self.event = ::std::option::Option::Some(bus_event::Event::MetricsRequest(is.read_message()?));
                },
                882 => {
                    self.event = ::std::option::Option::Some(bus_event::Event::KvRequest(is.read_message()?));
                },
                890 => {
                    self.event = ::std::option::Option::Some(bus_event::Event::DeleteAudienceRequest(is.read_message()?));
                },
                898 => {
                    self.event = ::std::option::Option::Some(bus_event::Event::NewAudienceRequest(is.read_message()?));
                },
                906 => {
                    self.event = ::std::option::Option::Some(bus_event::Event::TailRequest(is.read_message()?));
                },
                914 => {
                    self.event = ::std::option::Option::Some(bus_event::Event::TailResponse(is.read_message()?));
                },
                8002 => {
                    let len = is.read_raw_varint32()?;
                    let old_limit = is.push_limit(len as u64)?;
                    let mut key = ::std::default::Default::default();
                    let mut value = ::std::default::Default::default();
                    while let Some(tag) = is.read_raw_tag_or_eof()? {
                        match tag {
                            10 => key = is.read_string()?,
                            18 => value = is.read_string()?,
                            _ => ::protobuf::rt::skip_field_for_tag(tag, is)?,
                        };
                    }
                    is.pop_limit(old_limit);
                    self._metadata.insert(key, value);
                },
                tag => {
                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u64 {
        let mut my_size = 0;
        if !self.source.is_empty() {
            my_size += ::protobuf::rt::string_size(1, &self.source);
        }
        for (k, v) in &self._metadata {
            let mut entry_size = 0;
            entry_size += ::protobuf::rt::string_size(1, &k);
            entry_size += ::protobuf::rt::string_size(2, &v);
            my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(entry_size) + entry_size
        };
        if let ::std::option::Option::Some(ref v) = self.event {
            match v {
                &bus_event::Event::RegisterRequest(ref v) => {
                    let len = v.compute_size();
                    my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
                },
                &bus_event::Event::DeregisterRequest(ref v) => {
                    let len = v.compute_size();
                    my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
                },
                &bus_event::Event::CreatePipelineRequest(ref v) => {
                    let len = v.compute_size();
                    my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
                },
                &bus_event::Event::DeletePipelineRequest(ref v) => {
                    let len = v.compute_size();
                    my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
                },
                &bus_event::Event::UpdatePipelineRequest(ref v) => {
                    let len = v.compute_size();
                    my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
                },
                &bus_event::Event::AttachPipelineRequest(ref v) => {
                    let len = v.compute_size();
                    my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
                },
                &bus_event::Event::DetachPipelineRequest(ref v) => {
                    let len = v.compute_size();
                    my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
                },
                &bus_event::Event::PausePipelineRequest(ref v) => {
                    let len = v.compute_size();
                    my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
                },
                &bus_event::Event::ResumePipelineRequest(ref v) => {
                    let len = v.compute_size();
                    my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
                },
                &bus_event::Event::MetricsRequest(ref v) => {
                    let len = v.compute_size();
                    my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
                },
                &bus_event::Event::KvRequest(ref v) => {
                    let len = v.compute_size();
                    my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
                },
                &bus_event::Event::DeleteAudienceRequest(ref v) => {
                    let len = v.compute_size();
                    my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
                },
                &bus_event::Event::NewAudienceRequest(ref v) => {
                    let len = v.compute_size();
                    my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
                },
                &bus_event::Event::TailRequest(ref v) => {
                    let len = v.compute_size();
                    my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
                },
                &bus_event::Event::TailResponse(ref v) => {
                    let len = v.compute_size();
                    my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
                },
            };
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
        self.special_fields.cached_size().set(my_size as u32);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
        if !self.source.is_empty() {
            os.write_string(1, &self.source)?;
        }
        for (k, v) in &self._metadata {
            let mut entry_size = 0;
            entry_size += ::protobuf::rt::string_size(1, &k);
            entry_size += ::protobuf::rt::string_size(2, &v);
            os.write_raw_varint32(8002)?; // Tag.
            os.write_raw_varint32(entry_size as u32)?;
            os.write_string(1, &k)?;
            os.write_string(2, &v)?;
        };
        if let ::std::option::Option::Some(ref v) = self.event {
            match v {
                &bus_event::Event::RegisterRequest(ref v) => {
                    ::protobuf::rt::write_message_field_with_cached_size(100, v, os)?;
                },
                &bus_event::Event::DeregisterRequest(ref v) => {
                    ::protobuf::rt::write_message_field_with_cached_size(101, v, os)?;
                },
                &bus_event::Event::CreatePipelineRequest(ref v) => {
                    ::protobuf::rt::write_message_field_with_cached_size(102, v, os)?;
                },
                &bus_event::Event::DeletePipelineRequest(ref v) => {
                    ::protobuf::rt::write_message_field_with_cached_size(103, v, os)?;
                },
                &bus_event::Event::UpdatePipelineRequest(ref v) => {
                    ::protobuf::rt::write_message_field_with_cached_size(104, v, os)?;
                },
                &bus_event::Event::AttachPipelineRequest(ref v) => {
                    ::protobuf::rt::write_message_field_with_cached_size(105, v, os)?;
                },
                &bus_event::Event::DetachPipelineRequest(ref v) => {
                    ::protobuf::rt::write_message_field_with_cached_size(106, v, os)?;
                },
                &bus_event::Event::PausePipelineRequest(ref v) => {
                    ::protobuf::rt::write_message_field_with_cached_size(107, v, os)?;
                },
                &bus_event::Event::ResumePipelineRequest(ref v) => {
                    ::protobuf::rt::write_message_field_with_cached_size(108, v, os)?;
                },
                &bus_event::Event::MetricsRequest(ref v) => {
                    ::protobuf::rt::write_message_field_with_cached_size(109, v, os)?;
                },
                &bus_event::Event::KvRequest(ref v) => {
                    ::protobuf::rt::write_message_field_with_cached_size(110, v, os)?;
                },
                &bus_event::Event::DeleteAudienceRequest(ref v) => {
                    ::protobuf::rt::write_message_field_with_cached_size(111, v, os)?;
                },
                &bus_event::Event::NewAudienceRequest(ref v) => {
                    ::protobuf::rt::write_message_field_with_cached_size(112, v, os)?;
                },
                &bus_event::Event::TailRequest(ref v) => {
                    ::protobuf::rt::write_message_field_with_cached_size(113, v, os)?;
                },
                &bus_event::Event::TailResponse(ref v) => {
                    ::protobuf::rt::write_message_field_with_cached_size(114, v, os)?;
                },
            };
        }
        os.write_unknown_fields(self.special_fields.unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn special_fields(&self) -> &::protobuf::SpecialFields {
        &self.special_fields
    }

    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
        &mut self.special_fields
    }

    fn new() -> BusEvent {
        BusEvent::new()
    }

    fn clear(&mut self) {
        self.source.clear();
        self.event = ::std::option::Option::None;
        self.event = ::std::option::Option::None;
        self.event = ::std::option::Option::None;
        self.event = ::std::option::Option::None;
        self.event = ::std::option::Option::None;
        self.event = ::std::option::Option::None;
        self.event = ::std::option::Option::None;
        self.event = ::std::option::Option::None;
        self.event = ::std::option::Option::None;
        self.event = ::std::option::Option::None;
        self.event = ::std::option::Option::None;
        self.event = ::std::option::Option::None;
        self.event = ::std::option::Option::None;
        self.event = ::std::option::Option::None;
        self.event = ::std::option::Option::None;
        self._metadata.clear();
        self.special_fields.clear();
    }

    fn default_instance() -> &'static BusEvent {
        static instance: ::protobuf::rt::Lazy<BusEvent> = ::protobuf::rt::Lazy::new();
        instance.get(BusEvent::new)
    }
}

impl ::protobuf::MessageFull for BusEvent {
    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
        descriptor.get(|| file_descriptor().message_by_package_relative_name("BusEvent").unwrap()).clone()
    }
}

impl ::std::fmt::Display for BusEvent {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for BusEvent {
    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}

/// Nested message and enums of message `BusEvent`
pub mod bus_event {

    #[derive(Clone,PartialEq,Debug)]
    #[non_exhaustive]
    // @@protoc_insertion_point(oneof:protos.BusEvent.event)
    pub enum Event {
        // @@protoc_insertion_point(oneof_field:protos.BusEvent.register_request)
        RegisterRequest(super::super::sp_internal::RegisterRequest),
        // @@protoc_insertion_point(oneof_field:protos.BusEvent.deregister_request)
        DeregisterRequest(super::super::sp_internal::DeregisterRequest),
        // @@protoc_insertion_point(oneof_field:protos.BusEvent.create_pipeline_request)
        CreatePipelineRequest(super::super::sp_external::CreatePipelineRequest),
        // @@protoc_insertion_point(oneof_field:protos.BusEvent.delete_pipeline_request)
        DeletePipelineRequest(super::super::sp_external::DeletePipelineRequest),
        // @@protoc_insertion_point(oneof_field:protos.BusEvent.update_pipeline_request)
        UpdatePipelineRequest(super::super::sp_external::UpdatePipelineRequest),
        // @@protoc_insertion_point(oneof_field:protos.BusEvent.attach_pipeline_request)
        AttachPipelineRequest(super::super::sp_external::AttachPipelineRequest),
        // @@protoc_insertion_point(oneof_field:protos.BusEvent.detach_pipeline_request)
        DetachPipelineRequest(super::super::sp_external::DetachPipelineRequest),
        // @@protoc_insertion_point(oneof_field:protos.BusEvent.pause_pipeline_request)
        PausePipelineRequest(super::super::sp_external::PausePipelineRequest),
        // @@protoc_insertion_point(oneof_field:protos.BusEvent.resume_pipeline_request)
        ResumePipelineRequest(super::super::sp_external::ResumePipelineRequest),
        // @@protoc_insertion_point(oneof_field:protos.BusEvent.metrics_request)
        MetricsRequest(super::super::sp_internal::MetricsRequest),
        // @@protoc_insertion_point(oneof_field:protos.BusEvent.kv_request)
        KvRequest(super::super::sp_kv::KVRequest),
        // @@protoc_insertion_point(oneof_field:protos.BusEvent.delete_audience_request)
        DeleteAudienceRequest(super::super::sp_external::DeleteAudienceRequest),
        // @@protoc_insertion_point(oneof_field:protos.BusEvent.new_audience_request)
        NewAudienceRequest(super::super::sp_internal::NewAudienceRequest),
        // @@protoc_insertion_point(oneof_field:protos.BusEvent.tail_request)
        TailRequest(super::super::sp_common::TailRequest),
        // @@protoc_insertion_point(oneof_field:protos.BusEvent.tail_response)
        TailResponse(super::super::sp_common::TailResponse),
    }

    impl ::protobuf::Oneof for Event {
    }

    impl ::protobuf::OneofFull for Event {
        fn descriptor() -> ::protobuf::reflect::OneofDescriptor {
            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::OneofDescriptor> = ::protobuf::rt::Lazy::new();
            descriptor.get(|| <super::BusEvent as ::protobuf::MessageFull>::descriptor().oneof_by_name("event").unwrap()).clone()
        }
    }

    impl Event {
        pub(in super) fn generated_oneof_descriptor_data() -> ::protobuf::reflect::GeneratedOneofDescriptorData {
            ::protobuf::reflect::GeneratedOneofDescriptorData::new::<Event>("event")
        }
    }
}

static file_descriptor_proto_data: &'static [u8] = b"\
    \n\x0csp_bus.proto\x12\x06protos\x1a\x0fsp_common.proto\x1a\x11sp_extern\
    al.proto\x1a\x11sp_internal.proto\x1a\x0bsp_kv.proto\"\xbb\n\n\x08BusEve\
    nt\x12\x16\n\x06source\x18\x01\x20\x01(\tR\x06source\x12D\n\x10register_\
    request\x18d\x20\x01(\x0b2\x17.protos.RegisterRequestH\0R\x0fregisterReq\
    uest\x12J\n\x12deregister_request\x18e\x20\x01(\x0b2\x19.protos.Deregist\
    erRequestH\0R\x11deregisterRequest\x12W\n\x17create_pipeline_request\x18\
    f\x20\x01(\x0b2\x1d.protos.CreatePipelineRequestH\0R\x15createPipelineRe\
    quest\x12W\n\x17delete_pipeline_request\x18g\x20\x01(\x0b2\x1d.protos.De\
    letePipelineRequestH\0R\x15deletePipelineRequest\x12W\n\x17update_pipeli\
    ne_request\x18h\x20\x01(\x0b2\x1d.protos.UpdatePipelineRequestH\0R\x15up\
    datePipelineRequest\x12W\n\x17attach_pipeline_request\x18i\x20\x01(\x0b2\
    \x1d.protos.AttachPipelineRequestH\0R\x15attachPipelineRequest\x12W\n\
    \x17detach_pipeline_request\x18j\x20\x01(\x0b2\x1d.protos.DetachPipeline\
    RequestH\0R\x15detachPipelineRequest\x12T\n\x16pause_pipeline_request\
    \x18k\x20\x01(\x0b2\x1c.protos.PausePipelineRequestH\0R\x14pausePipeline\
    Request\x12W\n\x17resume_pipeline_request\x18l\x20\x01(\x0b2\x1d.protos.\
    ResumePipelineRequestH\0R\x15resumePipelineRequest\x12A\n\x0fmetrics_req\
    uest\x18m\x20\x01(\x0b2\x16.protos.MetricsRequestH\0R\x0emetricsRequest\
    \x122\n\nkv_request\x18n\x20\x01(\x0b2\x11.protos.KVRequestH\0R\tkvReque\
    st\x12W\n\x17delete_audience_request\x18o\x20\x01(\x0b2\x1d.protos.Delet\
    eAudienceRequestH\0R\x15deleteAudienceRequest\x12N\n\x14new_audience_req\
    uest\x18p\x20\x01(\x0b2\x1a.protos.NewAudienceRequestH\0R\x12newAudience\
    Request\x128\n\x0ctail_request\x18q\x20\x01(\x0b2\x13.protos.TailRequest\
    H\0R\x0btailRequest\x12;\n\rtail_response\x18r\x20\x01(\x0b2\x14.protos.\
    TailResponseH\0R\x0ctailResponse\x12<\n\t_metadata\x18\xe8\x07\x20\x03(\
    \x0b2\x1e.protos.BusEvent.MetadataEntryR\x08Metadata\x1a;\n\rMetadataEnt\
    ry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\x14\n\x05value\x18\
    \x02\x20\x01(\tR\x05value:\x028\x01B\x07\n\x05eventB-Z+github.com/stream\
    dal/protos/build/go/protosJ\xdb\x0f\n\x06\x12\x04\0\02\x01\n\x08\n\x01\
    \x0c\x12\x03\0\0\x12\n\x08\n\x01\x02\x12\x03\x02\0\x0f\n\t\n\x02\x03\0\
    \x12\x03\x04\0\x19\n\t\n\x02\x03\x01\x12\x03\x05\0\x1b\n\t\n\x02\x03\x02\
    \x12\x03\x06\0\x1b\n\t\n\x02\x03\x03\x12\x03\x07\0\x15\n\x08\n\x01\x08\
    \x12\x03\t\0B\n\t\n\x02\x08\x0b\x12\x03\t\0B\nJ\n\x02\x04\0\x12\x04\x0c\
    \02\x01\x1a>\x20Type\x20used\x20by\x20`server`\x20for\x20broadcasting\
    \x20events\x20to\x20other\x20nodes\n\n\n\n\x03\x04\0\x01\x12\x03\x0c\x08\
    \x10\n\x0b\n\x04\x04\0\x02\0\x12\x03\r\x02\x14\n\x0c\n\x05\x04\0\x02\0\
    \x05\x12\x03\r\x02\x08\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\r\t\x0f\n\x0c\
    \n\x05\x04\0\x02\0\x03\x12\x03\r\x12\x13\n\xc0\x02\n\x04\x04\0\x08\0\x12\
    \x04\x15\x02%\x03\x1a\xb1\x02\x20This\x20_should_\x20contain\x20request\
    \x20messages\x20-\x20each\x20server\x20can\x20determine\n\x20how\x20to\
    \x20interpret\x20and\x20handle\x20the\x20message.\n\n\x20NOTE:\x20The\
    \x20bus\x20_should\x20not_\x20be\x20used\x20for\x20transmitting\x20comma\
    nds\x20to\x20SDKs.\x20The\n\x20consumer\x20in\x20each\x20SDK\x20should\
    \x20receive\x20a\x20request\x20and\x20potentially\x20craft\x20a\x20new\n\
    \x20command\x20to\x20send\x20to\x20the\x20appropriate\x20SDK(s).\n\n\x0c\
    \n\x05\x04\0\x08\0\x01\x12\x03\x15\x08\r\n\x0b\n\x04\x04\0\x02\x01\x12\
    \x03\x16\x042\n\x0c\n\x05\x04\0\x02\x01\x06\x12\x03\x16\x04\x1a\n\x0c\n\
    \x05\x04\0\x02\x01\x01\x12\x03\x16\x1b+\n\x0c\n\x05\x04\0\x02\x01\x03\
    \x12\x03\x16.1\n\x0b\n\x04\x04\0\x02\x02\x12\x03\x17\x046\n\x0c\n\x05\
    \x04\0\x02\x02\x06\x12\x03\x17\x04\x1c\n\x0c\n\x05\x04\0\x02\x02\x01\x12\
    \x03\x17\x1d/\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03\x1725\n\x0b\n\x04\
    \x04\0\x02\x03\x12\x03\x18\x04?\n\x0c\n\x05\x04\0\x02\x03\x06\x12\x03\
    \x18\x04\x20\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x03\x18!8\n\x0c\n\x05\x04\
    \0\x02\x03\x03\x12\x03\x18;>\n\x0b\n\x04\x04\0\x02\x04\x12\x03\x19\x04?\
    \n\x0c\n\x05\x04\0\x02\x04\x06\x12\x03\x19\x04\x20\n\x0c\n\x05\x04\0\x02\
    \x04\x01\x12\x03\x19!8\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x03\x19;>\n\x0b\
    \n\x04\x04\0\x02\x05\x12\x03\x1a\x04?\n\x0c\n\x05\x04\0\x02\x05\x06\x12\
    \x03\x1a\x04\x20\n\x0c\n\x05\x04\0\x02\x05\x01\x12\x03\x1a!8\n\x0c\n\x05\
    \x04\0\x02\x05\x03\x12\x03\x1a;>\n\x0b\n\x04\x04\0\x02\x06\x12\x03\x1b\
    \x04?\n\x0c\n\x05\x04\0\x02\x06\x06\x12\x03\x1b\x04\x20\n\x0c\n\x05\x04\
    \0\x02\x06\x01\x12\x03\x1b!8\n\x0c\n\x05\x04\0\x02\x06\x03\x12\x03\x1b;>\
    \n\x0b\n\x04\x04\0\x02\x07\x12\x03\x1c\x04?\n\x0c\n\x05\x04\0\x02\x07\
    \x06\x12\x03\x1c\x04\x20\n\x0c\n\x05\x04\0\x02\x07\x01\x12\x03\x1c!8\n\
    \x0c\n\x05\x04\0\x02\x07\x03\x12\x03\x1c;>\n\x0b\n\x04\x04\0\x02\x08\x12\
    \x03\x1d\x04=\n\x0c\n\x05\x04\0\x02\x08\x06\x12\x03\x1d\x04\x1f\n\x0c\n\
    \x05\x04\0\x02\x08\x01\x12\x03\x1d\x206\n\x0c\n\x05\x04\0\x02\x08\x03\
    \x12\x03\x1d9<\n\x0b\n\x04\x04\0\x02\t\x12\x03\x1e\x04?\n\x0c\n\x05\x04\
    \0\x02\t\x06\x12\x03\x1e\x04\x20\n\x0c\n\x05\x04\0\x02\t\x01\x12\x03\x1e\
    !8\n\x0c\n\x05\x04\0\x02\t\x03\x12\x03\x1e;>\n\x0b\n\x04\x04\0\x02\n\x12\
    \x03\x1f\x040\n\x0c\n\x05\x04\0\x02\n\x06\x12\x03\x1f\x04\x19\n\x0c\n\
    \x05\x04\0\x02\n\x01\x12\x03\x1f\x1a)\n\x0c\n\x05\x04\0\x02\n\x03\x12\
    \x03\x1f,/\n\x0b\n\x04\x04\0\x02\x0b\x12\x03\x20\x04&\n\x0c\n\x05\x04\0\
    \x02\x0b\x06\x12\x03\x20\x04\x14\n\x0c\n\x05\x04\0\x02\x0b\x01\x12\x03\
    \x20\x15\x1f\n\x0c\n\x05\x04\0\x02\x0b\x03\x12\x03\x20\"%\n\x0b\n\x04\
    \x04\0\x02\x0c\x12\x03!\x04?\n\x0c\n\x05\x04\0\x02\x0c\x06\x12\x03!\x04\
    \x20\n\x0c\n\x05\x04\0\x02\x0c\x01\x12\x03!!8\n\x0c\n\x05\x04\0\x02\x0c\
    \x03\x12\x03!;>\n\x0b\n\x04\x04\0\x02\r\x12\x03\"\x049\n\x0c\n\x05\x04\0\
    \x02\r\x06\x12\x03\"\x04\x1d\n\x0c\n\x05\x04\0\x02\r\x01\x12\x03\"\x1e2\
    \n\x0c\n\x05\x04\0\x02\r\x03\x12\x03\"58\n\x0b\n\x04\x04\0\x02\x0e\x12\
    \x03#\x04*\n\x0c\n\x05\x04\0\x02\x0e\x06\x12\x03#\x04\x16\n\x0c\n\x05\
    \x04\0\x02\x0e\x01\x12\x03#\x17#\n\x0c\n\x05\x04\0\x02\x0e\x03\x12\x03#&\
    )\n\x0b\n\x04\x04\0\x02\x0f\x12\x03$\x04,\n\x0c\n\x05\x04\0\x02\x0f\x06\
    \x12\x03$\x04\x17\n\x0c\n\x05\x04\0\x02\x0f\x01\x12\x03$\x18%\n\x0c\n\
    \x05\x04\0\x02\x0f\x03\x12\x03$(+\n\xb8\x04\n\x04\x04\0\x02\x10\x12\x031\
    \x02(\x1a\xf3\x03\x20All\x20gRPC\x20metadata\x20is\x20stored\x20in\x20ct\
    x;\x20when\x20request\x20goes\x20outside\x20of\x20gRPC\n\x20bounds,\x20w\
    e\x20will\x20translate\x20ctx\x20metadata\x20into\x20this\x20field.\n\n\
    \x20Example:\n\x201.\x20Request\x20comes\x20into\x20server\x20via\x20ext\
    ernal\x20gRPC\x20to\x20set\x20new\x20pipeline\n\x202.\x20server\x20has\
    \x20to\x20send\x20SetPipeline\x20cmd\x20to\x20SDK\x20via\x20gRPC\x20-\
    \x20it\x20passes\n\x20\x20\x20\x20on\x20original\x20metadata\x20in\x20re\
    quest.\n\x203.\x20server\x20has\x20to\x20broadcast\x20SetPipeline\x20cmd\
    \x20to\x20other\x20services\x20via\x20bus\n\x204.\x20Since\x20this\x20is\
    \x20not\x20a\x20gRPC\x20call,\x20server\x20translates\x20ctx\x20metadata\
    \x20to\n\x20\x20\x20\x20this\x20field\x20and\x20includes\x20it\x20in\x20\
    the\x20bus\x20event.\n\"5\x20protolint:disable:this\x20FIELD_NAMES_LOWER\
    _SNAKE_CASE\n\n\x0c\n\x05\x04\0\x02\x10\x06\x12\x031\x02\x16\n\x0c\n\x05\
    \x04\0\x02\x10\x01\x12\x031\x17\x20\n\x0c\n\x05\x04\0\x02\x10\x03\x12\
    \x031#'b\x06proto3\
";

/// `FileDescriptorProto` object which was a source for this generated file
fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
    static file_descriptor_proto_lazy: ::protobuf::rt::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::Lazy::new();
    file_descriptor_proto_lazy.get(|| {
        ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
    })
}

/// `FileDescriptor` object which allows dynamic access to files
pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
    static generated_file_descriptor_lazy: ::protobuf::rt::Lazy<::protobuf::reflect::GeneratedFileDescriptor> = ::protobuf::rt::Lazy::new();
    static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
    file_descriptor.get(|| {
        let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
            let mut deps = ::std::vec::Vec::with_capacity(4);
            deps.push(super::sp_common::file_descriptor().clone());
            deps.push(super::sp_external::file_descriptor().clone());
            deps.push(super::sp_internal::file_descriptor().clone());
            deps.push(super::sp_kv::file_descriptor().clone());
            let mut messages = ::std::vec::Vec::with_capacity(1);
            messages.push(BusEvent::generated_message_descriptor_data());
            let mut enums = ::std::vec::Vec::with_capacity(0);
            ::protobuf::reflect::GeneratedFileDescriptor::new_generated(
                file_descriptor_proto(),
                deps,
                messages,
                enums,
            )
        });
        ::protobuf::reflect::FileDescriptor::new_generated_2(generated_file_descriptor)
    })
}
