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