slack_morphism_hyper/socket_mode/
mod.rs

1use crate::socket_mode::tokio_clients_manager::SlackSocketModeTokioClientsManager;
2use crate::SlackClientHyperConnector;
3use hyper::client::connect::Connect;
4use slack_morphism::clients_manager::{
5    SlackSocketModeClientsManager, SlackSocketModeClientsManagerFactory,
6};
7use slack_morphism::listener::SlackClientEventsListenerEnvironment;
8use slack_morphism::SlackSocketModeWssClientId;
9use std::sync::Arc;
10
11mod tokio_clients_manager;
12mod tungstenite_wss_client;
13
14impl<H: Send + Sync + Clone + Connect + 'static>
15    SlackSocketModeClientsManagerFactory<SlackClientHyperConnector<H>>
16    for SlackClientHyperConnector<H>
17{
18    fn new_clients_manager(
19        &self,
20        listener_environment: Arc<
21            SlackClientEventsListenerEnvironment<SlackClientHyperConnector<H>>,
22        >,
23    ) -> Arc<dyn SlackSocketModeClientsManager + Send + Sync> {
24        Arc::new(SlackSocketModeTokioClientsManager::new(
25            listener_environment,
26        ))
27    }
28}