More encoder clean up

This commit is contained in:
Lucio Franco
2019-08-21 19:25:27 -04:00
parent 93eb9989d6
commit 132d2523a1
5 changed files with 45 additions and 100 deletions
+27 -3
View File
@@ -9,7 +9,31 @@ use std::pin::Pin;
use std::task::{Context, Poll};
use tokio_codec::Encoder;
pub fn encode<T, U>(mut encoder: T, source: U) -> impl TryStream<Ok = BytesBuf, Error = Status>
pub fn encode_server<T, U>(
encoder: T,
source: U,
) -> EncodeBody<impl Stream<Item = Result<BytesBuf, Status>>>
where
T: Encoder<Error = Status>,
U: Stream<Item = Result<T::Item, Status>>,
{
let stream = encode(encoder, source).into_stream();
EncodeBody::new_server(stream)
}
pub fn encode_client<T, U>(
encoder: T,
source: U,
) -> EncodeBody<impl Stream<Item = Result<BytesBuf, Status>>>
where
T: Encoder<Error = Status>,
U: Stream<Item = Result<T::Item, Status>>,
{
let stream = encode(encoder, source).into_stream();
EncodeBody::new_client(stream)
}
fn encode<T, U>(mut encoder: T, source: U) -> impl TryStream<Ok = BytesBuf, Error = Status>
where
T: Encoder<Error = Status>,
U: Stream<Item = Result<T::Item, Status>>,
@@ -64,7 +88,7 @@ impl<S> EncodeBody<S>
where
S: Stream<Item = Result<crate::body::BytesBuf, Status>>,
{
pub fn new_client(inner: S) -> Self {
pub(crate) fn new_client(inner: S) -> Self {
Self {
inner,
error: None,
@@ -72,7 +96,7 @@ where
}
}
pub fn new_server(inner: S) -> Self {
pub(crate) fn new_server(inner: S) -> Self {
Self {
inner,
error: None,