Skip to main content

NativeIncomingSession

Struct NativeIncomingSession 

Source
pub struct NativeIncomingSession { /* private fields */ }
Expand description

One incoming direct voice call. ACK is ringing setup, not acceptance. Only the embedding broker’s winning owner may request Join. These methods do not verify carrier freshness, consume account sync, retry or create history.

Implementations§

Source§

impl NativeIncomingSession

Source

pub fn peer_microphone_muted(&self) -> Option<bool>

Current remote microphone state from the authenticated AV snapshot.

Source

pub fn authenticate( client: &impl PersonalTransport, state: &mut AccountState, authority: AppAuthority, host_task: u32, device32: [u8; 32], parameters: VoiceParameters, notification: &InviteNotification, expected_caller: &str, ) -> Result<Self>

Call only after a current account-owned live notification has been retained and a listening controller has reserved the global call slot.

Source

pub fn phase(&self) -> IncomingPhase

Source

pub fn room(&self) -> VoiceRoom

Latest authenticated local room/member binding. This is private call routing data and must not be exposed as a public event or diagnostic.

Source

pub fn ringing_ack( &mut self, client: &impl PersonalTransport, state: &mut AccountState, current: AppAuthority, tasks: TaskIds, ) -> Result<()>

Perform singleton ringing ACK8069. A successful ACK may be offered to controllers, but it grants neither a media stream nor permission to Join.

Source

pub fn accept( &mut self, client: &impl PersonalTransport, state: &mut AccountState, current: AppAuthority, tasks: TaskIds, ) -> Result<()>

The broker winner accepts with actual callee Join3361. Timestamp8 is the source-selected literal0; this does not reuse a caller Invite response.

Source

pub fn reject( &mut self, client: &impl PersonalTransport, state: &mut AccountState, current: AppAuthority, tasks: TaskIds, ) -> Result<()>

Decline only the source ACKed-callee state. Pre-ACK busy/other-device paths have separate operations and are not substituted here.

Source

pub fn poll( &mut self, client: &impl PersonalTransport, state: &mut AccountState, current: AppAuthority, tasks: TaskIds, ) -> Result<SyncProgress>

Source

pub fn finish_remote( &mut self, client: &impl PersonalTransport, state: &mut AccountState, current: AppAuthority, tasks: TaskIds, talk_success: bool, ) -> Result<()>

Source-classified remote cleanup, separate from local user hangup.

Source

pub fn media_ready( &self, state: &AccountState, current: AppAuthority, ) -> Result<bool>

Source

pub fn take_media( &mut self, state: &AccountState, current: AppAuthority, connection_index: usize, udp_index: usize, ) -> Result<NegotiatedMedia>

Source

pub fn exit( &mut self, client: &impl PersonalTransport, state: &mut AccountState, current: AppAuthority, tasks: TaskIds, talk_success: bool, ) -> Result<()>

Source

pub fn retire_cancel( &mut self, state: &AccountState, current: AppAuthority, cancel: &CancelNotification, ) -> Result<bool>

Only a separately authenticated, matching cancellation while invited or ACKed retires this callee. Joined calls need their own terminal evidence.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more