From 8a965abeb34ddb1464edab5566c5219a41e56a97 Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Mon, 1 Sep 2025 20:02:50 +0800 Subject: connector: use static dispatch for connector type --- src/client/connector.rs | 2 +- src/client/connector/connectors.rs | 4 ---- src/client/connector/manager.rs | 10 +++++----- src/client/main.rs | 9 ++++----- 4 files changed, 10 insertions(+), 15 deletions(-) diff --git a/src/client/connector.rs b/src/client/connector.rs index e49d08e..82dc487 100644 --- a/src/client/connector.rs +++ b/src/client/connector.rs @@ -20,7 +20,7 @@ impl Channel { } } -trait Connection { +pub(crate) trait Connection { type Err: std::fmt::Display; type Success: std::fmt::Display = String; diff --git a/src/client/connector/connectors.rs b/src/client/connector/connectors.rs index 4c14ad9..f495d63 100644 --- a/src/client/connector/connectors.rs +++ b/src/client/connector/connectors.rs @@ -1,5 +1 @@ pub(crate) mod httpconnector; - -pub(crate) enum Connectors<'a> { - Http(httpconnector::HTTPConnector<'a>), -} diff --git a/src/client/connector/manager.rs b/src/client/connector/manager.rs index 7227303..67cf0a9 100644 --- a/src/client/connector/manager.rs +++ b/src/client/connector/manager.rs @@ -1,13 +1,13 @@ -use crate::connector::connectors; +use crate::connector::Connection; use std::thread; -pub(crate) struct ConnectorManager<'a> { - connector: connectors::Connectors<'a>, +pub(crate) struct ConnectorManager { + connector: C, thread: Option>, } -impl<'a> ConnectorManager<'a> { - pub(crate) fn new(connector: connectors::Connectors<'a>) -> Self { +impl ConnectorManager { + pub(crate) fn new(connector: C) -> Self { Self { connector, thread: None, diff --git a/src/client/main.rs b/src/client/main.rs index 93eb511..4ef7a9b 100644 --- a/src/client/main.rs +++ b/src/client/main.rs @@ -2,12 +2,11 @@ use std::thread; -use crate::connector::connectors::{httpconnector::HTTPConnector, Connectors}; +use crate::connector::{connectors::httpconnector::HTTPConnector, manager::ConnectorManager}; mod connector; fn main() { - connector::manager::ConnectorManager::new(Connectors::Http( - HTTPConnector::new("https://google.com").unwrap(), - )) - .start(); + ConnectorManager::new(HTTPConnector::new("https://example.com").unwrap()).start(); + + thread::park(); } -- cgit v1.2.3