tfserver/codec/codec_trait.rs
1use async_trait::async_trait;
2use tokio::io;
3use tokio_util::bytes::{Bytes, BytesMut};
4use tokio_util::codec::{Decoder, Encoder};
5use crate::structures::transport::Transport;
6
7#[async_trait]
8///The additional trait that gaves ability to setup codec per connection.
9pub trait TfCodec: Encoder<Bytes, Error = io::Error>
10+ Decoder<Item = BytesMut, Error = io::Error>
11+ Send
12+ Sync
13+ Clone
14+ 'static
15{
16 async fn initial_setup(&mut self, transport: &mut Transport) -> bool;
17}