Lines Matching full:proposal
30 /// A proposal that adds a member to a [`Group`](crate::group::Group).
36 /// The [`KeyPackage`] used by this proposal to add
43 /// that will be added by this proposal.
49 /// that will be added by this proposal.
55 /// [`Member`](mls_rs_core::group::Member) that will be added by this proposal.
88 /// A proposal that will update an existing [`Member`](mls_rs_core::group::Member) of a
97 /// that is being updated by this proposal.
103 /// that will be updated by this proposal.
109 /// [`Member`](mls_rs_core::group::Member) that is being updated by this proposal.
118 /// A proposal to remove an existing [`Member`](mls_rs_core::group::Member) of a
126 /// this proposal.
144 /// A proposal to add a pre-shared key to a group.
151 /// The external pre-shared key id of this proposal.
168 /// A proposal to reinitialize a group using new parameters.
217 /// A proposal used for external commits.
243 /// A user defined custom proposal.
265 /// Create a custom proposal.
270 /// defined by this crate. Using existing constants in a custom proposal
279 /// The proposal type used for this custom proposal.
284 /// The opaque data communicated by this custom proposal.
303 fn from_custom_proposal(proposal: &CustomProposal) -> Result<Self, mls_rs_codec::Error> { in from_custom_proposal()
304 if proposal.proposal_type() != Self::proposal_type() { in from_custom_proposal()
307 // "invalid proposal type".to_string(), in from_custom_proposal()
314 Self::mls_decode(&mut proposal.data()) in from_custom_proposal()
325 pub enum Proposal { enum
339 impl MlsSize for Proposal { implementation
342 Proposal::Add(p) => p.mls_encoded_len(), in mls_encoded_len()
344 Proposal::Update(p) => p.mls_encoded_len(), in mls_encoded_len()
345 Proposal::Remove(p) => p.mls_encoded_len(), in mls_encoded_len()
347 Proposal::Psk(p) => p.mls_encoded_len(), in mls_encoded_len()
348 Proposal::ReInit(p) => p.mls_encoded_len(), in mls_encoded_len()
349 Proposal::ExternalInit(p) => p.mls_encoded_len(), in mls_encoded_len()
350 Proposal::GroupContextExtensions(p) => p.mls_encoded_len(), in mls_encoded_len()
352 Proposal::Custom(p) => mls_rs_codec::byte_vec::mls_encoded_len(&p.data), in mls_encoded_len()
359 impl MlsEncode for Proposal { implementation
364 Proposal::Add(p) => p.mls_encode(writer), in mls_encode()
366 Proposal::Update(p) => p.mls_encode(writer), in mls_encode()
367 Proposal::Remove(p) => p.mls_encode(writer), in mls_encode()
369 Proposal::Psk(p) => p.mls_encode(writer), in mls_encode()
370 Proposal::ReInit(p) => p.mls_encode(writer), in mls_encode()
371 Proposal::ExternalInit(p) => p.mls_encode(writer), in mls_encode()
372 Proposal::GroupContextExtensions(p) => p.mls_encode(writer), in mls_encode()
374 Proposal::Custom(p) => { in mls_encode()
378 … // "custom proposal types can not be set to defined values of 0-7".to_string(), in mls_encode()
390 impl MlsDecode for Proposal { implementation
396 Proposal::Add(alloc::boxed::Box::new(AddProposal::mls_decode(reader)?)) in mls_decode()
399 ProposalType::UPDATE => Proposal::Update(UpdateProposal::mls_decode(reader)?), in mls_decode()
400 ProposalType::REMOVE => Proposal::Remove(RemoveProposal::mls_decode(reader)?), in mls_decode()
402 ProposalType::PSK => Proposal::Psk(PreSharedKeyProposal::mls_decode(reader)?), in mls_decode()
403 ProposalType::RE_INIT => Proposal::ReInit(ReInitProposal::mls_decode(reader)?), in mls_decode()
405 Proposal::ExternalInit(ExternalInit::mls_decode(reader)?) in mls_decode()
408 Proposal::GroupContextExtensions(ExtensionList::mls_decode(reader)?) in mls_decode()
411 custom => Proposal::Custom(CustomProposal { in mls_decode()
422 impl Proposal { implementation
425 Proposal::Add(_) => ProposalType::ADD, in proposal_type()
427 Proposal::Update(_) => ProposalType::UPDATE, in proposal_type()
428 Proposal::Remove(_) => ProposalType::REMOVE, in proposal_type()
430 Proposal::Psk(_) => ProposalType::PSK, in proposal_type()
431 Proposal::ReInit(_) => ProposalType::RE_INIT, in proposal_type()
432 Proposal::ExternalInit(_) => ProposalType::EXTERNAL_INIT, in proposal_type()
433 Proposal::GroupContextExtensions(_) => ProposalType::GROUP_CONTEXT_EXTENSIONS, in proposal_type()
435 Proposal::Custom(c) => c.proposal_type, in proposal_type()
441 /// An enum that represents a borrowed version of [`Proposal`].
456 impl<'a> From<BorrowedProposal<'a>> for Proposal { implementation
459 BorrowedProposal::Add(add) => Proposal::Add(alloc::boxed::Box::new(add.clone())), in from()
461 BorrowedProposal::Update(update) => Proposal::Update(update.clone()), in from()
462 BorrowedProposal::Remove(remove) => Proposal::Remove(remove.clone()), in from()
464 BorrowedProposal::Psk(psk) => Proposal::Psk(psk.clone()), in from()
465 BorrowedProposal::ReInit(reinit) => Proposal::ReInit(reinit.clone()), in from()
466 BorrowedProposal::ExternalInit(external) => Proposal::ExternalInit(external.clone()), in from()
468 Proposal::GroupContextExtensions(ext.clone()) in from()
471 BorrowedProposal::Custom(custom) => Proposal::Custom(custom.clone()), in from()
494 impl<'a> From<&'a Proposal> for BorrowedProposal<'a> {
495 fn from(p: &'a Proposal) -> Self { in from()
497 Proposal::Add(p) => BorrowedProposal::Add(p), in from()
499 Proposal::Update(p) => BorrowedProposal::Update(p), in from()
500 Proposal::Remove(p) => BorrowedProposal::Remove(p), in from()
502 Proposal::Psk(p) => BorrowedProposal::Psk(p), in from()
503 Proposal::ReInit(p) => BorrowedProposal::ReInit(p), in from()
504 Proposal::ExternalInit(p) => BorrowedProposal::ExternalInit(p), in from()
505 Proposal::GroupContextExtensions(p) => BorrowedProposal::GroupContextExtensions(p), in from()
507 Proposal::Custom(p) => BorrowedProposal::Custom(p), in from()
568 Proposal(Box<Proposal>) = 1u8, enumerator
573 impl From<Proposal> for ProposalOrRef {
574 fn from(proposal: Proposal) -> Self { in from()
575 Self::Proposal(Box::new(proposal)) in from()