mirror of
https://gitlab.com/xmpp-rs/xmpp-rs.git
synced 2024-07-12 22:21:53 +00:00
Implement function to get stream features
This commit is contained in:
parent
45c19690a8
commit
060088be29
3 changed files with 16 additions and 0 deletions
|
@ -8,6 +8,7 @@ use xmpp_parsers::{ns, Element, Jid};
|
|||
use super::connect::client_login;
|
||||
use crate::connect::{AsyncReadAndWrite, ServerConnector};
|
||||
use crate::event::Event;
|
||||
use crate::stream_features::StreamFeatures;
|
||||
use crate::xmpp_codec::Packet;
|
||||
use crate::xmpp_stream::{add_stanza_id, XMPPStream};
|
||||
use crate::{Error, ProtocolError};
|
||||
|
@ -81,6 +82,14 @@ impl<C: ServerConnector> Client<C> {
|
|||
.await
|
||||
}
|
||||
|
||||
/// Get the stream features (`<stream:features/>`) of the underlying stream
|
||||
pub fn get_stream_features(&self) -> Option<&StreamFeatures> {
|
||||
match self.state {
|
||||
ClientState::Connected(ref stream) => Some(&stream.stream_features),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
/// End connection by sending `</stream:stream>`
|
||||
///
|
||||
/// You may expect the server to respond with the same. This
|
||||
|
|
|
@ -5,6 +5,7 @@ use tokio_stream::StreamExt;
|
|||
use xmpp_parsers::{ns, Element, Jid};
|
||||
|
||||
use crate::connect::ServerConnector;
|
||||
use crate::stream_features::StreamFeatures;
|
||||
use crate::xmpp_codec::Packet;
|
||||
use crate::xmpp_stream::{add_stanza_id, XMPPStream};
|
||||
use crate::Error;
|
||||
|
@ -53,6 +54,11 @@ impl<C: ServerConnector> Client<C> {
|
|||
.await
|
||||
}
|
||||
|
||||
/// Get the stream features (`<stream:features/>`) of the underlying stream
|
||||
pub fn get_stream_features(&self) -> &StreamFeatures {
|
||||
&self.stream.stream_features
|
||||
}
|
||||
|
||||
/// End connection by sending `</stream:stream>`
|
||||
///
|
||||
/// You may expect the server to respond with the same. This
|
||||
|
|
|
@ -8,6 +8,7 @@ use xmpp_parsers::{ns, Element};
|
|||
///
|
||||
/// TODO: should this rather go into xmpp-parsers, kept in a decoded
|
||||
/// struct?
|
||||
#[derive(Debug)]
|
||||
pub struct StreamFeatures(pub Element);
|
||||
|
||||
impl StreamFeatures {
|
||||
|
|
Loading…
Reference in a new issue