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);
}