/rust/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.8.3/src/writer.rs
Line | Count | Source |
1 | | //! Writer trait. |
2 | | |
3 | | #[cfg(feature = "pem")] |
4 | | pub(crate) mod pem; |
5 | | pub(crate) mod slice; |
6 | | |
7 | | use crate::Result; |
8 | | |
9 | | #[cfg(feature = "std")] |
10 | | use std::io; |
11 | | |
12 | | /// Writer trait which outputs encoded DER. |
13 | | pub trait Writer { |
14 | | /// Write the given DER-encoded bytes as output. |
15 | | /// |
16 | | /// # Errors |
17 | | /// If the write operation failed. |
18 | | fn write(&mut self, slice: &[u8]) -> Result<()>; |
19 | | |
20 | | /// Write a single byte. |
21 | | /// |
22 | | /// # Errors |
23 | | /// If the write operation failed. |
24 | 15.2k | fn write_byte(&mut self, byte: u8) -> Result<()> { |
25 | 15.2k | self.write(&[byte]) |
26 | 15.2k | } |
27 | | } |
28 | | |
29 | | #[cfg(feature = "std")] |
30 | | impl<W: io::Write> Writer for W { |
31 | | fn write(&mut self, slice: &[u8]) -> Result<()> { |
32 | | <Self as io::Write>::write(self, slice)?; |
33 | | Ok(()) |
34 | | } |
35 | | } |