diff options
Diffstat (limited to 'serde_v8/magic/buffer.rs')
-rw-r--r-- | serde_v8/magic/buffer.rs | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/serde_v8/magic/buffer.rs b/serde_v8/magic/buffer.rs index a0a1c974b..484984ac5 100644 --- a/serde_v8/magic/buffer.rs +++ b/serde_v8/magic/buffer.rs @@ -14,28 +14,19 @@ use crate::magic::transl8::impl_magic; pub enum MagicBuffer { FromV8(ZeroCopyBuf), ToV8(Mutex<Option<Box<[u8]>>>), - // Variant of the MagicBuffer than is never exposed to the JS. - // Generally used to pass Vec<u8> backed buffers to resource methods. - Temp(Vec<u8>), } - impl_magic!(MagicBuffer); impl MagicBuffer { pub fn empty() -> Self { MagicBuffer::ToV8(Mutex::new(Some(vec![0_u8; 0].into_boxed_slice()))) } - - pub fn new_temp(vec: Vec<u8>) -> Self { - MagicBuffer::Temp(vec) - } } impl Clone for MagicBuffer { fn clone(&self) -> Self { match self { Self::FromV8(zbuf) => Self::FromV8(zbuf.clone()), - Self::Temp(vec) => Self::Temp(vec.clone()), Self::ToV8(_) => panic!("Don't Clone a MagicBuffer sent to v8"), } } @@ -58,7 +49,6 @@ impl Deref for MagicBuffer { fn deref(&self) -> &[u8] { match self { Self::FromV8(buf) => &*buf, - Self::Temp(vec) => &*vec, Self::ToV8(_) => panic!("Don't Deref a MagicBuffer sent to v8"), } } @@ -68,7 +58,6 @@ impl DerefMut for MagicBuffer { fn deref_mut(&mut self) -> &mut [u8] { match self { Self::FromV8(buf) => &mut *buf, - Self::Temp(vec) => &mut *vec, Self::ToV8(_) => panic!("Don't Deref a MagicBuffer sent to v8"), } } @@ -96,7 +85,6 @@ impl ToV8 for MagicBuffer { let value: &[u8] = buf; value.into() } - Self::Temp(_) => unreachable!(), Self::ToV8(x) => x.lock().unwrap().take().expect("MagicBuffer was empty"), }; |