slack_morphism/socket_mode/
wss_client_id.rs1use rsb_derive::Builder;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Eq, PartialEq, Hash, Clone, Serialize, Deserialize, Builder)]
5pub struct SlackSocketModeWssClientId {
6 pub initial_index: u32,
7 pub token_index: u32,
8 pub reconnected: u64,
9}
10
11impl SlackSocketModeWssClientId {
12 pub fn new_reconnected_id(&self) -> Self {
13 if self.reconnected < 64 {
14 Self {
15 reconnected: self.reconnected + 1,
16 ..self.clone()
17 }
18 } else {
19 Self {
20 reconnected: 0,
21 ..self.clone()
22 }
23 }
24 }
25}
26
27#[allow(clippy::to_string_trait_impl)]
28impl ToString for SlackSocketModeWssClientId {
29 fn to_string(&self) -> String {
30 format!(
31 "{}/{}/{}",
32 self.initial_index, self.token_index, self.reconnected
33 )
34 }
35}