pub struct OpenDiscussionRequest {
pub client_operation_id: String,
pub spool: Option<SpoolRef>,
pub anchor: Option<CollaborationAnchor>,
pub title: String,
pub initial_body: String,
pub blocking: bool,
pub signed_operation: Option<SignedRecord>,
pub audience: i32,
pub audience_label: String,
pub mentions: Vec<EntityRef>,
pub tags: Vec<AnnotationTag>,
}Fields§
§client_operation_id: String§spool: Option<SpoolRef>§anchor: Option<CollaborationAnchor>§title: String§initial_body: String§blocking: bool§signed_operation: Option<SignedRecord>Canonical actor-signed Thread operation. The request PoP authorizes this delivery; it cannot substitute for the portable operation signature.
audience: i32Required explicit audience. Private requires a nonempty audience_label; other audiences require an empty label. Sharing never widens this audience.
audience_label: String§mentions: Vec<EntityRef>Same list as AppendDiscussionRequest, retained on the opening DiscussionTurn. At most 128 mentions and 256 KiB of canonical MessagePack mention-array bytes per command, including the array header and all reference maps. Principal ids remain opaque and unchanged in every projection; principal access never causes refusal or stripping. Only notification delivery is gated by anchor/audience read access at delivery time, with no author-visible delivery field or status. Source mentions may be refused when the author cannot read the source. See docs/alpha-v2/collaboration-mentions-tags.md for bounds and disclosure.
Implementations§
Trait Implementations§
Source§impl Clone for OpenDiscussionRequest
impl Clone for OpenDiscussionRequest
Source§fn clone(&self) -> OpenDiscussionRequest
fn clone(&self) -> OpenDiscussionRequest
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 OpenDiscussionRequest
impl Debug for OpenDiscussionRequest
Source§impl Default for OpenDiscussionRequest
impl Default for OpenDiscussionRequest
Source§fn default() -> OpenDiscussionRequest
fn default() -> OpenDiscussionRequest
Source§impl Message for OpenDiscussionRequest
impl Message for OpenDiscussionRequest
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl PartialEq for OpenDiscussionRequest
impl PartialEq for OpenDiscussionRequest
impl StructuralPartialEq for OpenDiscussionRequest
Auto Trait Implementations§
impl Freeze for OpenDiscussionRequest
impl RefUnwindSafe for OpenDiscussionRequest
impl Send for OpenDiscussionRequest
impl Sync for OpenDiscussionRequest
impl Unpin for OpenDiscussionRequest
impl UnsafeUnpin for OpenDiscussionRequest
impl UnwindSafe for OpenDiscussionRequest
Blanket Implementations§
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more