1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
pub trait B16PoolEncode<I,O,E>{ fn pool_encode(pool:&CpuPool,input:I)->CpuFuture<O,E>; } macro_rules! pool_encode_impl { ($i:ty,$o:ty) => { impl B16PoolEncode<$i,$o,B16EncodeError> for B16<$o>{ fn pool_encode(pool:&CpuPool,input:$i)->CpuFuture<$o,B16EncodeError>{ pool.spawn_fn(move||{ B16::<$o>::encode(input) }) } } } } pool_encode_impl!(u8,String); pool_encode_impl!(u8,Vec<u8>); pool_encode_impl!(i8,String); pool_encode_impl!(i8,Vec<u8>); pool_encode_impl!(u16,String); pool_encode_impl!(u16,Vec<u8>); pool_encode_impl!(i16,String); pool_encode_impl!(i16,Vec<u8>); pool_encode_impl!(u32,String); pool_encode_impl!(u32,Vec<u8>); pool_encode_impl!(i32,String); pool_encode_impl!(i32,Vec<u8>); pool_encode_impl!(u64,String); pool_encode_impl!(u64,Vec<u8>); pool_encode_impl!(i64,String); pool_encode_impl!(i64,Vec<u8>);