Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/proc-macro-api/src/codec.rs')
| -rw-r--r-- | crates/proc-macro-api/src/codec.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/crates/proc-macro-api/src/codec.rs b/crates/proc-macro-api/src/codec.rs new file mode 100644 index 0000000000..baccaa6be4 --- /dev/null +++ b/crates/proc-macro-api/src/codec.rs @@ -0,0 +1,12 @@ +//! Protocol codec + +use std::io; + +use serde::de::DeserializeOwned; + +use crate::framing::Framing; + +pub trait Codec: Framing { + fn encode<T: serde::Serialize>(msg: &T) -> io::Result<Self::Buf>; + fn decode<T: DeserializeOwned>(buf: &mut Self::Buf) -> io::Result<T>; +} |