hanabi_core/protocol/response/
pubsub.rs1use crate::engines::pubsub::Message;
2use crate::util::Consumable;
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)]
6pub enum PubSubResponse {
7 Subscribe(PubSubSubscribeResponse),
8}
9
10#[derive(Debug, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)]
12pub struct PubSubSubscribeResponse {
13 request_id: ulid::Ulid,
15
16 message: Message,
18}
19
20impl PubSubSubscribeResponse {
21 pub fn new(request_id: ulid::Ulid, message: Message) -> Self {
22 Self {
23 request_id,
24 message,
25 }
26 }
27
28 pub fn request_id(&self) -> ulid::Ulid {
29 self.request_id
30 }
31}
32
33impl Consumable<Message> for PubSubSubscribeResponse {
34 fn consume(self) -> Message {
35 self.message
36 }
37}