pub trait RevisionSerializer: Send + Sync {
// Required methods
fn format_name(&self) -> &'static str;
fn squashes_xml_invalid_characters(&self) -> bool;
fn read_revision(&self, file: &mut dyn Read) -> Result<Revision, Error>;
fn write_revision_to_string(
&self,
revision: &Revision
) -> Result<Vec<u8>, Error>;
fn write_revision_to_lines(
&self,
revision: &Revision
) -> Box<dyn Iterator<Item = Result<Vec<u8>, Error>>>;
fn read_revision_from_string(
&self,
string: &[u8]
) -> Result<Revision, Error>;
}