Struct sequoia_openpgp::armor::Writer
source · [−]pub struct Writer<W: Write> { /* private fields */ }
Expand description
A filter that applies ASCII Armor to the data written to it.
Implementations
sourceimpl<W: Write> Writer<W>
impl<W: Write> Writer<W>
sourcepub fn new(inner: W, kind: Kind) -> Result<Self>
pub fn new(inner: W, kind: Kind) -> Result<Self>
Constructs a new filter for the given type of data.
Examples
use std::io::{Read, Write, Cursor};
use sequoia_openpgp as openpgp;
use openpgp::armor::{Writer, Kind};
let mut writer = Writer::new(Vec::new(), Kind::File)?;
writer.write_all(b"Hello world!")?;
let buffer = writer.finalize()?;
assert_eq!(
String::from_utf8_lossy(&buffer),
"-----BEGIN PGP ARMORED FILE-----
SGVsbG8gd29ybGQh
=s4Gu
-----END PGP ARMORED FILE-----
");
sourcepub fn with_headers<I, K, V>(inner: W, kind: Kind, headers: I) -> Result<Self> where
I: IntoIterator<Item = (K, V)>,
K: AsRef<str>,
V: AsRef<str>,
pub fn with_headers<I, K, V>(inner: W, kind: Kind, headers: I) -> Result<Self> where
I: IntoIterator<Item = (K, V)>,
K: AsRef<str>,
V: AsRef<str>,
Constructs a new filter for the given type of data.
Examples
use std::io::{Read, Write, Cursor};
use sequoia_openpgp as openpgp;
use openpgp::armor::{Writer, Kind};
let mut writer = Writer::with_headers(Vec::new(), Kind::File,
vec![("Key", "Value")])?;
writer.write_all(b"Hello world!")?;
let buffer = writer.finalize()?;
assert_eq!(
String::from_utf8_lossy(&buffer),
"-----BEGIN PGP ARMORED FILE-----
Key: Value
SGVsbG8gd29ybGQh
=s4Gu
-----END PGP ARMORED FILE-----
");
Trait Implementations
sourceimpl<W: Write> Write for Writer<W>
impl<W: Write> Write for Writer<W>
sourcefn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this writer, returning how many bytes were written. Read more
sourcefn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
sourcefn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬 This is a nightly-only experimental API. (
can_vector
)Determines if this Write
r has an efficient write_vectored
implementation. Read more
1.0.0 · sourcefn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
sourcefn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬 This is a nightly-only experimental API. (
write_all_vectored
)Attempts to write multiple buffers into this writer. Read more
Auto Trait Implementations
impl<W> RefUnwindSafe for Writer<W> where
W: RefUnwindSafe,
impl<W> Send for Writer<W> where
W: Send,
impl<W> Sync for Writer<W> where
W: Sync,
impl<W> Unpin for Writer<W> where
W: Unpin,
impl<W> UnwindSafe for Writer<W> where
W: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more