diff options
Diffstat (limited to 'cli/ops/tls.rs')
-rw-r--r-- | cli/ops/tls.rs | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/cli/ops/tls.rs b/cli/ops/tls.rs index 45b2f2d38..6dbe99c85 100644 --- a/cli/ops/tls.rs +++ b/cli/ops/tls.rs @@ -6,7 +6,7 @@ use crate::deno_error::DenoError; use crate::deno_error::ErrorKind; use crate::ops::json_op; use crate::resolve_addr::resolve_addr; -use crate::state::ThreadSafeState; +use crate::state::State; use deno_core::*; use futures::future::FutureExt; use std; @@ -35,7 +35,7 @@ use webpki; use webpki::DNSNameRef; use webpki_roots; -pub fn init(i: &mut Isolate, s: &ThreadSafeState) { +pub fn init(i: &mut Isolate, s: &State) { i.register_op( "connect_tls", s.core_op(json_op(s.stateful_op(op_connect_tls))), @@ -60,7 +60,7 @@ struct ConnectTLSArgs { } pub fn op_connect_tls( - state: &ThreadSafeState, + state: &State, args: Value, _zero_copy: Option<ZeroCopyBuf>, ) -> Result<JsonOp, ErrBox> { @@ -95,8 +95,8 @@ pub fn op_connect_tls( let dnsname = DNSNameRef::try_from_ascii_str(&domain).expect("Invalid DNS lookup"); let tls_stream = tls_connector.connect(dnsname, tcp_stream).await?; - let mut table = state_.lock_resource_table(); - let rid = table.add( + let mut state = state_.borrow_mut(); + let rid = state.resource_table.add( "clientTlsStream", Box::new(StreamResource::ClientTlsStream(Box::new(tls_stream))), ); @@ -241,7 +241,7 @@ struct ListenTlsArgs { } fn op_listen_tls( - state: &ThreadSafeState, + state: &State, args: Value, _zero_copy: Option<ZeroCopyBuf>, ) -> Result<JsonOp, ErrBox> { @@ -270,8 +270,10 @@ fn op_listen_tls( waker: None, local_addr, }; - let mut table = state.lock_resource_table(); - let rid = table.add("tlsListener", Box::new(tls_listener_resource)); + let mut state = state.borrow_mut(); + let rid = state + .resource_table + .add("tlsListener", Box::new(tls_listener_resource)); Ok(JsonOp::Sync(json!({ "rid": rid, @@ -290,7 +292,7 @@ enum AcceptTlsState { } /// Simply accepts a TLS connection. -pub fn accept_tls(state: &ThreadSafeState, rid: ResourceId) -> AcceptTls { +pub fn accept_tls(state: &State, rid: ResourceId) -> AcceptTls { AcceptTls { accept_state: AcceptTlsState::Pending, rid, @@ -302,7 +304,7 @@ pub fn accept_tls(state: &ThreadSafeState, rid: ResourceId) -> AcceptTls { pub struct AcceptTls { accept_state: AcceptTlsState, rid: ResourceId, - state: ThreadSafeState, + state: State, } impl Future for AcceptTls { @@ -314,8 +316,9 @@ impl Future for AcceptTls { panic!("poll AcceptTls after it's done"); } - let mut table = inner.state.lock_resource_table(); - let listener_resource = table + let mut state = inner.state.borrow_mut(); + let listener_resource = state + .resource_table .get_mut::<TlsListenerResource>(inner.rid) .ok_or_else(|| { let e = std::io::Error::new( @@ -352,7 +355,7 @@ struct AcceptTlsArgs { } fn op_accept_tls( - state: &ThreadSafeState, + state: &State, args: Value, _zero_copy: Option<ZeroCopyBuf>, ) -> Result<JsonOp, ErrBox> { @@ -364,8 +367,9 @@ fn op_accept_tls( let local_addr = tcp_stream.local_addr()?; let remote_addr = tcp_stream.peer_addr()?; let tls_acceptor = { - let table = state.lock_resource_table(); - let resource = table + let state = state.borrow(); + let resource = state + .resource_table .get::<TlsListenerResource>(rid) .ok_or_else(bad_resource) .expect("Can't find tls listener"); @@ -373,8 +377,8 @@ fn op_accept_tls( }; let tls_stream = tls_acceptor.accept(tcp_stream).await?; let rid = { - let mut table = state.lock_resource_table(); - table.add( + let mut state = state.borrow_mut(); + state.resource_table.add( "serverTlsStream", Box::new(StreamResource::ServerTlsStream(Box::new(tls_stream))), ) |