Skip to content

Commit 6860555

Browse files
committed
pass through read_buf and write_buf
1 parent 5c4b34a commit 6860555

File tree

3 files changed

+21
-1
lines changed

3 files changed

+21
-1
lines changed

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ repository = "https://github.com/hyperium/hyper-tls"
1010
documentation = "https://docs.rs/hyper-tls"
1111

1212
[dependencies]
13+
bytes = "0.4"
1314
futures = "0.1.21"
1415
native-tls = "0.1"
1516
hyper = "0.12"

src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@
3535
#![deny(warnings)]
3636
#![deny(missing_docs)]
3737
#![deny(missing_debug_implementations)]
38-
#![allow(deprecated)]
3938

39+
extern crate bytes;
4040
extern crate futures;
4141
extern crate hyper;
4242
extern crate native_tls;

src/stream.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use std::fmt;
22
use std::io::{self, Read, Write};
33

4+
use bytes::{Buf, BufMut};
45
use futures::Poll;
56
use tokio_io::{AsyncRead, AsyncWrite};
67
use tokio_tls::TlsStream;
@@ -51,19 +52,37 @@ impl<T: Read + Write> Write for MaybeHttpsStream<T> {
5152
}
5253

5354
impl<T: AsyncRead + AsyncWrite> AsyncRead for MaybeHttpsStream<T> {
55+
#[inline]
5456
unsafe fn prepare_uninitialized_buffer(&self, buf: &mut [u8]) -> bool {
5557
match *self {
5658
MaybeHttpsStream::Http(ref s) => s.prepare_uninitialized_buffer(buf),
5759
MaybeHttpsStream::Https(ref s) => s.prepare_uninitialized_buffer(buf),
5860
}
5961
}
62+
63+
#[inline]
64+
fn read_buf<B: BufMut>(&mut self, buf: &mut B) -> Poll<usize, io::Error> {
65+
match *self {
66+
MaybeHttpsStream::Http(ref mut s) => s.read_buf(buf),
67+
MaybeHttpsStream::Https(ref mut s) => s.read_buf(buf),
68+
}
69+
}
6070
}
6171

6272
impl<T: AsyncWrite + AsyncRead> AsyncWrite for MaybeHttpsStream<T> {
73+
#[inline]
6374
fn shutdown(&mut self) -> Poll<(), io::Error> {
6475
match *self {
6576
MaybeHttpsStream::Http(ref mut s) => s.shutdown(),
6677
MaybeHttpsStream::Https(ref mut s) => s.shutdown(),
6778
}
6879
}
80+
81+
#[inline]
82+
fn write_buf<B: Buf>(&mut self, buf: &mut B) -> Poll<usize, io::Error> {
83+
match *self {
84+
MaybeHttpsStream::Http(ref mut s) => s.write_buf(buf),
85+
MaybeHttpsStream::Https(ref mut s) => s.write_buf(buf),
86+
}
87+
}
6988
}

0 commit comments

Comments
 (0)