1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
use crate::protos::protobuf::pulsar_api::CommandSubscribe_SubType as Protobuf_SubType;

#[derive(PartialEq, Eq, Debug, Clone)]
pub enum SubscribeType {
    Exclusive,
    Shared,
    Failover,
    KeyShared,
}

impl From<SubscribeType> for Protobuf_SubType {
    fn from(st: SubscribeType) -> Self {
        match st {
            SubscribeType::Exclusive => Protobuf_SubType::Exclusive,
            SubscribeType::Shared => Protobuf_SubType::Shared,
            SubscribeType::Failover => Protobuf_SubType::Failover,
            SubscribeType::KeyShared => Protobuf_SubType::Key_Shared,
        }
    }
}