pub trait WebRtcControllerBackend: Send {
    // Required methods
    fn configure(
        &mut self,
        stun_server: &str,
        policy: BundlePolicy,
    ) -> WebRtcResult;
    fn set_remote_description(
        &mut self,
        _: SessionDescription,
        cb: Box<dyn FnOnce() + Send + 'static>,
    ) -> WebRtcResult;
    fn set_local_description(
        &mut self,
        _: SessionDescription,
        cb: Box<dyn FnOnce() + Send + 'static>,
    ) -> WebRtcResult;
    fn add_ice_candidate(&mut self, candidate: IceCandidate) -> WebRtcResult;
    fn create_offer(
        &mut self,
        cb: Box<dyn FnOnce(SessionDescription) + Send + 'static>,
    ) -> WebRtcResult;
    fn create_answer(
        &mut self,
        cb: Box<dyn FnOnce(SessionDescription) + Send + 'static>,
    ) -> WebRtcResult;
    fn add_stream(&mut self, stream: &MediaStreamId) -> WebRtcResult;
    fn create_data_channel(
        &mut self,
        init: &DataChannelInit,
    ) -> WebRtcDataChannelResult;
    fn close_data_channel(&mut self, channel: &DataChannelId) -> WebRtcResult;
    fn send_data_channel_message(
        &mut self,
        channel: &DataChannelId,
        message: &DataChannelMessage,
    ) -> WebRtcResult;
    fn internal_event(&mut self, event: InternalEvent) -> WebRtcResult;
    fn quit(&mut self);
}Expand description
This trait is implemented by backends and should never be used directly by the client. Use WebRtcController instead