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