diff --git a/slixmpp/xmlstream/xmlstream.py b/slixmpp/xmlstream/xmlstream.py index 2f506018..02f4598c 100644 --- a/slixmpp/xmlstream/xmlstream.py +++ b/slixmpp/xmlstream/xmlstream.py @@ -9,6 +9,7 @@ # :license: MIT, see LICENSE for more details from typing import ( Any, + Coroutine, Callable, Iterable, Iterator, @@ -1251,3 +1252,13 @@ class XMLStream(asyncio.BaseProtocol): raise finally: self.del_event_handler(event, handler) + + def wrap(self, coroutine: Coroutine[Any, Any, Any]) -> Future: + """Make a Future out of a coroutine with the current loop. + + :param coroutine: The coroutine to wrap. + """ + return asyncio.ensure_future( + coroutine, + loop=self.loop, + )