Skip to content

Commit

Permalink
Drop the param argument at connect
Browse files Browse the repository at this point in the history
  • Loading branch information
MOZGIII committed Jul 22, 2023
1 parent 7dd009d commit c48e484
Show file tree
Hide file tree
Showing 7 changed files with 14 additions and 35 deletions.
7 changes: 1 addition & 6 deletions crates/xwebtransport-core/src/traits.rs
Original file line number Diff line number Diff line change
Expand Up @@ -64,15 +64,10 @@ pub trait AcceptUniStream: Streams {
#[cfg_attr(not(target_family = "wasm"), async_trait)]
#[cfg_attr(target_family = "wasm", async_trait(?Send))]
pub trait EndpointConnect: Sized + maybe::Send {
type Params;
type Connecting: Connecting;
type Error: std::error::Error + maybe::Send + maybe::Sync + 'static;

async fn connect(
&self,
url: &str,
params: &Self::Params,
) -> Result<Self::Connecting, Self::Error>;
async fn connect(&self, url: &str) -> Result<Self::Connecting, Self::Error>;
}

#[cfg_attr(not(target_family = "wasm"), async_trait)]
Expand Down
7 changes: 2 additions & 5 deletions crates/xwebtransport-tests/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,13 @@ where
BadData(Vec<u8>),
}

pub async fn echo<Endpoint>(
endpoint: Endpoint,
params: &Endpoint::Params,
) -> Result<(), EchoError<Endpoint>>
pub async fn echo<Endpoint>(endpoint: Endpoint) -> Result<(), EchoError<Endpoint>>
where
Endpoint: xwebtransport_core::EndpointConnect + std::fmt::Debug,
Endpoint::Connecting: std::fmt::Debug,
EndpointConnectConnectionFor<Endpoint>: xwebtransport_core::OpenBiStream + std::fmt::Debug,
{
let connection = crate::utils::connect(endpoint, "https://echo.webtransport.day", params)
let connection = crate::utils::connect(endpoint, "https://echo.webtransport.day")
.await
.map_err(EchoError::Connect)?;

Expand Down
3 changes: 1 addition & 2 deletions crates/xwebtransport-tests/src/utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,12 @@ use xwebtransport_core::prelude::*;
pub async fn connect<Endpoint>(
endpoint: Endpoint,
url: &str,
params: &Endpoint::Params,
) -> Result<EndpointConnectConnectionFor<Endpoint>, xwebtransport_error::Connect<Endpoint>>
where
Endpoint: xwebtransport_core::EndpointConnect,
{
let connecting = endpoint
.connect(url, params)
.connect(url)
.await
.map_err(xwebtransport_error::Connect::Connect)?;

Expand Down
15 changes: 6 additions & 9 deletions crates/xwebtransport-web-sys/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,18 @@ mod error;

pub use error::*;

#[derive(Debug, Clone)]
pub struct Endpoint;
#[derive(Debug, Clone, Default)]
pub struct Endpoint {
pub options: web_sys::WebTransportOptions,
}

#[async_trait(?Send)]
impl xwebtransport_core::traits::EndpointConnect for Endpoint {
type Error = Error;
type Params = web_sys::WebTransportOptions;
type Connecting = xwebtransport_core::utils::dummy::Connecting<Connection>;

async fn connect(
&self,
url: &str,
params: &Self::Params,
) -> Result<Self::Connecting, Self::Error> {
let transport = web_sys::WebTransport::new_with_options(url, params)?;
async fn connect(&self, url: &str) -> Result<Self::Connecting, Self::Error> {
let transport = web_sys::WebTransport::new_with_options(url, &self.options)?;
let _ = wasm_bindgen_futures::JsFuture::from(transport.ready()).await?;
let connection = Connection {
transport: Rc::new(transport),
Expand Down
6 changes: 2 additions & 4 deletions crates/xwebtransport-web-sys/tests/test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@ wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);

#[wasm_bindgen_test]
async fn main() {
let endpoint = xwebtransport_web_sys::Endpoint;
let endpoint = xwebtransport_web_sys::Endpoint::default();

xwebtransport_tests::tests::echo(endpoint, &Default::default())
.await
.unwrap();
xwebtransport_tests::tests::echo(endpoint).await.unwrap();
}
7 changes: 1 addition & 6 deletions crates/xwebtransport-wtransport/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,10 @@ pub use self::types::*;

#[async_trait]
impl xwebtransport_core::traits::EndpointConnect for Endpoint<wtransport::endpoint::Client> {
type Params = ();
type Connecting = xwebtransport_core::utils::dummy::Connecting<Connection>;
type Error = wtransport::error::ConnectingError;

async fn connect(
&self,
url: &str,
_params: &Self::Params,
) -> Result<Self::Connecting, Self::Error> {
async fn connect(&self, url: &str) -> Result<Self::Connecting, Self::Error> {
let connecting = self.0.connect(url).await.map(Connection)?;
Ok(xwebtransport_core::utils::dummy::Connecting(connecting))
}
Expand Down
4 changes: 1 addition & 3 deletions crates/xwebtransport-wtransport/tests/test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,5 @@ async fn main() {

let endpoint = xwebtransport_wtransport::Endpoint(endpoint);

xwebtransport_tests::tests::echo(endpoint, &())
.await
.unwrap();
xwebtransport_tests::tests::echo(endpoint).await.unwrap();
}

0 comments on commit c48e484

Please sign in to comment.