diff options
Diffstat (limited to 'ext/net/ops_tls.rs')
-rw-r--r-- | ext/net/ops_tls.rs | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/ext/net/ops_tls.rs b/ext/net/ops_tls.rs index 230f4359e..a1b48b84e 100644 --- a/ext/net/ops_tls.rs +++ b/ext/net/ops_tls.rs @@ -38,7 +38,6 @@ use deno_core::OpState; use deno_core::RcRef; use deno_core::Resource; use deno_core::ResourceId; -use deno_core::ZeroCopyBuf; use deno_tls::create_client_config; use deno_tls::load_certs; use deno_tls::load_private_keys; @@ -691,21 +690,18 @@ impl TlsStreamResource { pub async fn read( self: Rc<Self>, - mut buf: ZeroCopyBuf, - ) -> Result<(usize, ZeroCopyBuf), AnyError> { + data: &mut [u8], + ) -> Result<usize, AnyError> { let mut rd = RcRef::map(&self, |r| &r.rd).borrow_mut().await; let cancel_handle = RcRef::map(&self, |r| &r.cancel_handle); - let nread = rd.read(&mut buf).try_or_cancel(cancel_handle).await?; - Ok((nread, buf)) + let nread = rd.read(data).try_or_cancel(cancel_handle).await?; + Ok(nread) } - pub async fn write( - self: Rc<Self>, - buf: ZeroCopyBuf, - ) -> Result<usize, AnyError> { + pub async fn write(self: Rc<Self>, data: &[u8]) -> Result<usize, AnyError> { self.handshake().await?; let mut wr = RcRef::map(self, |r| &r.wr).borrow_mut().await; - let nwritten = wr.write(&buf).await?; + let nwritten = wr.write(data).await?; wr.flush().await?; Ok(nwritten) } @@ -736,21 +732,13 @@ impl TlsStreamResource { } impl Resource for TlsStreamResource { + deno_core::impl_readable_byob!(); + deno_core::impl_writable!(); + fn name(&self) -> Cow<str> { "tlsStream".into() } - fn read_return( - self: Rc<Self>, - buf: ZeroCopyBuf, - ) -> AsyncResult<(usize, ZeroCopyBuf)> { - Box::pin(self.read(buf)) - } - - fn write(self: Rc<Self>, buf: ZeroCopyBuf) -> AsyncResult<usize> { - Box::pin(self.write(buf)) - } - fn shutdown(self: Rc<Self>) -> AsyncResult<()> { Box::pin(self.shutdown()) } |