#[non_exhaustive]pub enum CallAction {
Show 14 variants
Offer {
call_id: String,
call_creator: Jid,
caller_pn: Option<Jid>,
caller_country_code: Option<String>,
device_class: Option<String>,
joinable: bool,
is_video: bool,
audio: Vec<CallAudioCodec>,
group_jid: Option<Jid>,
},
OfferNotice {
call_id: String,
call_creator: Jid,
is_video: bool,
is_group: bool,
},
PreAccept {
call_id: String,
call_creator: Jid,
audio: Vec<CallAudioCodec>,
},
Accept {
call_id: String,
call_creator: Jid,
audio: Vec<CallAudioCodec>,
},
Reject {
call_id: String,
call_creator: Jid,
reason: Option<String>,
},
Terminate {
call_id: String,
call_creator: Jid,
reason: Option<String>,
duration: Option<u32>,
audio_duration: Option<u32>,
},
Transport {
call_id: String,
call_creator: Jid,
p2p_cand_round: Option<String>,
transport_message_type: Option<String>,
},
RelayLatency {
call_id: String,
call_creator: Jid,
},
VideoState {
call_id: String,
call_creator: Jid,
state: VideoState,
orientation: Option<u8>,
dec: Option<String>,
},
GroupUpdate {
update: Box<GroupCallUpdate>,
},
EncRekey {
rekey: Box<GroupCallEncRekey>,
},
WaitingRoomUpdate {
room: Box<WaitingRoom>,
},
RaiseHand {
call_id: String,
call_creator: Jid,
raised: bool,
},
ScreenShare {
call_id: String,
call_creator: Jid,
screen_share: ScreenShare,
},
}Expand description
Fields kept per-variant (not a shared BasicCallMeta) so the serde shape
mirrors the stanza 1:1 for downstream JS consumers.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Offer
Fields
audio: Vec<CallAudioCodec>OfferNotice
Group-call notification fan-out to members. No offer-receipt expected;
the generic call ack is enough (router handles it via should_ack).
Fields
PreAccept
Accept
Reject
Fields
Terminate
Fields
Transport
ICE/relay candidate exchange. transport_message_type: 1 relay candidate,
3 peer ICE (callee replies 9), 9 keepalive/reply.
Fields
RelayLatency
Per-relay RTT probe from the peer; the client replies with a relaylatency ack.
VideoState
In-call <video state=N> signaling: the audio→video upgrade / video→audio downgrade
handshake.
Fields
state: VideoStateGroupUpdate
Transaction-ordered authoritative membership and relay snapshot.
Fields
update: Box<GroupCallUpdate>EncRekey
Signal-encrypted keygen-v2 epoch for a group call.
Fields
rekey: Box<GroupCallEncRekey>WaitingRoomUpdate
Authoritative admission state for a reusable call-link call.
Fields
room: Box<WaitingRoom>RaiseHand
Persistent raise/lower-hand state for one participant.
Screen-share state for one participant.
Implementations§
Source§impl CallAction
impl CallAction
Source§impl CallAction
impl CallAction
pub fn call_id(&self) -> &str
pub fn call_creator(&self) -> &Jid
Sourcepub fn action_kind(&self) -> &'static str
👎Deprecated since 0.6.0: use CallAction::wire_tag
pub fn action_kind(&self) -> &'static str
use CallAction::wire_tag
Backwards-compatible name for the action’s wire tag.
Trait Implementations§
Source§impl Clone for CallAction
impl Clone for CallAction
Source§fn clone(&self) -> CallAction
fn clone(&self) -> CallAction
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CallAction
impl Debug for CallAction
Source§impl Serialize for CallAction
impl Serialize for CallAction
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Auto Trait Implementations§
impl Freeze for CallAction
impl RefUnwindSafe for CallAction
impl Send for CallAction
impl Sync for CallAction
impl Unpin for CallAction
impl UnsafeUnpin for CallAction
impl UnwindSafe for CallAction
Blanket Implementations§
Source§impl<T> AggregateExpressionMethods for T
impl<T> AggregateExpressionMethods for T
Source§fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
DISTINCT modifier for aggregate functions Read moreSource§fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
ALL modifier for aggregate functions Read moreSource§fn aggregate_filter<P>(self, f: P) -> Self::Output
fn aggregate_filter<P>(self, f: P) -> Self::Output
Source§fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> IntoSql for T
impl<T> IntoSql for T
Source§fn into_sql<T>(self) -> Self::Expression
fn into_sql<T>(self) -> Self::Expression
self to an expression for Diesel’s query builder. Read moreSource§fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
&self to an expression for Diesel’s query builder. Read more