Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/proc-macro-api/src/framing.rs')
| -rw-r--r-- | crates/proc-macro-api/src/framing.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/crates/proc-macro-api/src/framing.rs b/crates/proc-macro-api/src/framing.rs new file mode 100644 index 0000000000..a1e6fc05ca --- /dev/null +++ b/crates/proc-macro-api/src/framing.rs @@ -0,0 +1,14 @@ +//! Protocol framing + +use std::io::{self, BufRead, Write}; + +pub trait Framing { + type Buf: Default; + + fn read<'a, R: BufRead>( + inp: &mut R, + buf: &'a mut Self::Buf, + ) -> io::Result<Option<&'a mut Self::Buf>>; + + fn write<W: Write>(out: &mut W, buf: &Self::Buf) -> io::Result<()>; +} |