Change summary
src/lib.rs | 9 +++++++--
src/xmpp_codec.rs | 8 ++++----
2 files changed, 11 insertions(+), 6 deletions(-)
Detailed changes
@@ -105,6 +105,7 @@ impl Future for TcpClient {
mod tests {
use tokio_core::reactor::Core;
use futures::{Future, Stream};
+ use xmpp_codec::Packet;
#[test]
fn it_works() {
@@ -118,8 +119,12 @@ mod tests {
&addr,
&core.handle()
).and_then(|stream| {
- stream.for_each(|item| {
- Ok(println!("stream item: {:?}", item))
+ stream.for_each(|event| {
+ match event {
+ Packet::Stanza(el) => println!("<< {}", el),
+ _ => println!("!! {:?}", event),
+ }
+ Ok(())
})
});
core.run(client).unwrap();
@@ -85,12 +85,12 @@ impl Codec for XMPPCodec {
let mut new_root = None;
let mut result = None;
for event in &mut self.parser {
- match &mut self.root {
- &mut None => {
+ match self.root {
+ None => {
// Expecting <stream:stream>
match event {
Ok(xml::Event::ElementStart(start_tag)) => {
- new_root = Some(XMPPRoot::new(start_tag));
+ self.root = Some(XMPPRoot::new(start_tag));
result = Some(Packet::StreamStart);
break
},
@@ -103,7 +103,7 @@ impl Codec for XMPPCodec {
}
}
- &mut Some(ref mut root) => {
+ Some(ref mut root) => {
match root.handle_event(event) {
None => (),
Some(Ok(stanza)) => {