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

Required Methods§

source

fn configure(&mut self, stun_server: &str, policy: BundlePolicy) -> WebRtcResult

source

fn set_remote_description( &mut self, _: SessionDescription, cb: Box<dyn FnOnce() + Send + 'static>, ) -> WebRtcResult

source

fn set_local_description( &mut self, _: SessionDescription, cb: Box<dyn FnOnce() + Send + 'static>, ) -> WebRtcResult

source

fn add_ice_candidate(&mut self, candidate: IceCandidate) -> WebRtcResult

source

fn create_offer( &mut self, cb: Box<dyn FnOnce(SessionDescription) + Send + 'static>, ) -> WebRtcResult

source

fn create_answer( &mut self, cb: Box<dyn FnOnce(SessionDescription) + Send + 'static>, ) -> WebRtcResult

source

fn add_stream(&mut self, stream: &MediaStreamId) -> WebRtcResult

source

fn create_data_channel( &mut self, init: &DataChannelInit, ) -> WebRtcDataChannelResult

source

fn close_data_channel(&mut self, channel: &DataChannelId) -> WebRtcResult

source

fn send_data_channel_message( &mut self, channel: &DataChannelId, message: &DataChannelMessage, ) -> WebRtcResult

source

fn internal_event(&mut self, event: InternalEvent) -> WebRtcResult

source

fn quit(&mut self)

Implementors§