cleanups and initial XML tree implementation
This commit is contained in:
parent
b148ff8dd9
commit
87ac9a1227
5 changed files with 185 additions and 5 deletions
|
|
@ -9,6 +9,8 @@ use std::sync::{Arc, Mutex};
|
|||
|
||||
use ns;
|
||||
|
||||
use tree;
|
||||
|
||||
use locked_io::LockedIO;
|
||||
|
||||
use error::Error;
|
||||
|
|
@ -18,6 +20,9 @@ use openssl::ssl::{SslMethod, SslConnectorBuilder, SslStream};
|
|||
pub trait Transport {
|
||||
fn write_event<'a, E: Into<XmlWriterEvent<'a>>>(&mut self, event: E) -> Result<(), Error>;
|
||||
fn read_event(&mut self) -> Result<XmlReaderEvent, Error>;
|
||||
|
||||
fn write_element(&mut self, element: &tree::Element) -> Result<(), Error>;
|
||||
fn read_element(&mut self) -> Result<tree::Element, Error>;
|
||||
}
|
||||
|
||||
pub struct SslTransport {
|
||||
|
|
@ -36,6 +41,14 @@ impl Transport for SslTransport {
|
|||
fn read_event(&mut self) -> Result<XmlReaderEvent, Error> {
|
||||
Ok(self.reader.next()?)
|
||||
}
|
||||
|
||||
fn write_element(&mut self, element: &tree::Element) -> Result<(), Error> {
|
||||
element.write_to(&mut self.writer)
|
||||
}
|
||||
|
||||
fn read_element(&mut self) -> Result<tree::Element, Error> {
|
||||
tree::Element::from_reader(&mut self.reader)
|
||||
}
|
||||
}
|
||||
|
||||
impl SslTransport {
|
||||
|
|
|
|||
Loading…
Reference in a new issue