Function skyway_webrtc_gateway_api::data::listen_events
source · [−]pub async fn listen_events<'a>(
data_connection_id: DataConnectionId,
event_notifier: Sender<DataConnectionEventEnum>
) -> Result<(), Error>
Expand description
This function keep listening events from a WebRTC Gateway. It keep accessing event API endpoint until receiving a CLOSE event or HTTP Error Code.
Example
use futures::channel::mpsc;
use futures::future::{self, *};
use futures::stream::*;
use futures::*;
use skyway_webrtc_gateway_api::data::{DataConnectionEventEnum, listen_events};
use skyway_webrtc_gateway_api::prelude::DataConnectionId;
async fn example() {
let data_connection_id = DataConnectionId::try_create("dc-4995f372-fb6a-4196-b30a-ce11e5c7f56c").unwrap();
let (dc_event_notifier, dc_event_observer) = mpsc::channel::<DataConnectionEventEnum>(0);
let dc_event_observer = dc_event_observer.for_each(|event| async move {
// Do something
});
let events_fut = listen_events(data_connection_id, dc_event_notifier);
let _ = join!(dc_event_observer, events_fut);
}