diff --git a/crates/xwebtransport-error/src/lib.rs b/crates/xwebtransport-error/src/lib.rs index d2b51b5..d2b46d4 100644 --- a/crates/xwebtransport-error/src/lib.rs +++ b/crates/xwebtransport-error/src/lib.rs @@ -4,7 +4,6 @@ use xwebtransport_core::{prelude::*, traits}; pub enum Connect where Endpoint: traits::EndpointConnect, - EndpointConnectConnectionFor: traits::Connection, { Connect(Endpoint::Error), Connecting(::Error), @@ -14,7 +13,6 @@ where pub enum Accept where Endpoint: traits::EndpointAccept, - EndpointAcceptConnectionFor: traits::Connection, { Accept(Endpoint::Error), Connecting(::Error), diff --git a/crates/xwebtransport-tests/src/tests.rs b/crates/xwebtransport-tests/src/tests.rs index 9a5fbbe..77bd62a 100644 --- a/crates/xwebtransport-tests/src/tests.rs +++ b/crates/xwebtransport-tests/src/tests.rs @@ -1,20 +1,33 @@ use tokio::io::{AsyncReadExt, AsyncWriteExt}; +use xwebtransport_core::trait_utils::EndpointConnectConnectionFor; #[derive(Debug, thiserror::Error)] -pub enum EchoError +pub enum EchoError where - Connection: xwebtransport_core::OpenBiStream, + Endpoint: xwebtransport_core::EndpointConnect + std::fmt::Debug, + Endpoint::Connecting: std::fmt::Debug, + EndpointConnectConnectionFor: xwebtransport_core::OpenBiStream + std::fmt::Debug, { - Open(xwebtransport_error::OpenBi), + Connect(xwebtransport_error::Connect), + Open(xwebtransport_error::OpenBi>), Send(std::io::Error), Recv(std::io::Error), BadData(Vec), } -pub async fn echo(connection: Connection) -> Result<(), EchoError> +pub async fn echo( + endpoint: Endpoint, + params: Endpoint::Params<'_>, +) -> Result<(), EchoError> where - Connection: xwebtransport_core::Connection, + Endpoint: xwebtransport_core::EndpointConnect + std::fmt::Debug, + Endpoint::Connecting: std::fmt::Debug, + EndpointConnectConnectionFor: xwebtransport_core::OpenBiStream + std::fmt::Debug, { + let connection = crate::utils::connect(endpoint, "https://echo.webtransport.day", params) + .await + .map_err(EchoError::Connect)?; + let (send_stream, recv_stream) = crate::utils::open_bi(connection) .await .map_err(EchoError::Open)?; diff --git a/crates/xwebtransport-tests/src/utils.rs b/crates/xwebtransport-tests/src/utils.rs index aa1a02f..991f9e0 100644 --- a/crates/xwebtransport-tests/src/utils.rs +++ b/crates/xwebtransport-tests/src/utils.rs @@ -7,7 +7,6 @@ pub async fn connect( ) -> Result, xwebtransport_error::Connect> where Endpoint: xwebtransport_core::EndpointConnect, - EndpointConnectConnectionFor: xwebtransport_core::Connection, { let connecting = endpoint .connect(url, params) diff --git a/crates/xwebtransport-web-sys/tests/test.rs b/crates/xwebtransport-web-sys/tests/test.rs index b853ba2..6d27dcd 100644 --- a/crates/xwebtransport-web-sys/tests/test.rs +++ b/crates/xwebtransport-web-sys/tests/test.rs @@ -8,13 +8,7 @@ wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser); async fn main() { let endpoint = xwebtransport_web_sys::Endpoint; - let connection = xwebtransport_tests::utils::connect( - endpoint, - "https://echo.webtransport.day", - &Default::default(), - ) - .await - .unwrap(); - - xwebtransport_tests::tests::echo(connection).await.unwrap(); + xwebtransport_tests::tests::echo(endpoint, &Default::default()) + .await + .unwrap(); } diff --git a/crates/xwebtransport-wtransport/tests/test.rs b/crates/xwebtransport-wtransport/tests/test.rs index 482c1a0..fff68fd 100644 --- a/crates/xwebtransport-wtransport/tests/test.rs +++ b/crates/xwebtransport-wtransport/tests/test.rs @@ -12,10 +12,7 @@ async fn main() { let endpoint = xwebtransport_wtransport::Endpoint(endpoint); - let connection = - xwebtransport_tests::utils::connect(endpoint, "https://echo.webtransport.day", ()) - .await - .unwrap(); - - xwebtransport_tests::tests::echo(connection).await.unwrap(); + xwebtransport_tests::tests::echo(endpoint, ()) + .await + .unwrap(); }