Files
h2/src/frame/unknown.rs
Carl Lerche 769f3f142f More work
2017-03-11 12:59:15 -08:00

34 lines
715 B
Rust

use frame::{Frame, Head, Error};
use bytes::{Bytes, BytesMut, BufMut};
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct Unknown {
head: Head,
payload: Bytes,
}
impl Unknown {
pub fn new(head: Head, payload: Bytes) -> Unknown {
Unknown {
head: head,
payload: payload,
}
}
pub fn encode_len(&self) -> usize {
self.head.encode_len() + self.payload.len()
}
pub fn encode(&self, dst: &mut BytesMut) -> Result<(), Error> {
try!(self.head.encode(self.payload.len(), dst));
dst.put(&self.payload);
Ok(())
}
}
impl From<Unknown> for Frame {
fn from(src: Unknown) -> Frame {
Frame::Unknown(src)
}
}