#[non_exhaustive]pub struct PubsubMessage {
pub data: Bytes,
pub attributes: HashMap<String, String>,
pub message_id: String,
pub publish_time: Option<Timestamp>,
pub ordering_key: String,
/* private fields */
}Expand description
A message that is published by publishers and consumed by subscribers. The message must contain either a non-empty data field or at least one attribute. Note that client libraries represent this object differently depending on the language. See the corresponding client library documentation for more information. See [quotas and limits] (https://cloud.google.com/pubsub/quotas) for more information about message limits.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.data: BytesOptional. The message data field. If this field is empty, the message must contain at least one attribute.
attributes: HashMap<String, String>Optional. Attributes for this message. If this field is empty, the message must contain non-empty data. This can be used to filter messages on the subscription.
message_id: StringID of this message, assigned by the server when the message is published.
Guaranteed to be unique within the topic. This value may be read by a
subscriber that receives a PubsubMessage via a Pull call or a push
delivery. It must not be populated by the publisher in a Publish call.
publish_time: Option<Timestamp>The time at which the message was published, populated by the server when
it receives the Publish call. It must not be populated by the
publisher in a Publish call.
ordering_key: StringOptional. If non-empty, identifies related messages for which publish order
should be respected. If a Subscription has enable_message_ordering set
to true, messages published with the same non-empty ordering_key value
will be delivered to subscribers in the order in which they are received by
the Pub/Sub system. All PubsubMessages published in a given
PublishRequest must specify the same ordering_key value. For more
information, see ordering
messages.
Implementations§
Source§impl PubsubMessage
impl PubsubMessage
pub fn new() -> Self
Sourcepub fn set_attributes<T, K, V>(self, v: T) -> Self
pub fn set_attributes<T, K, V>(self, v: T) -> Self
Sets the value of attributes.
Sourcepub fn set_message_id<T: Into<String>>(self, v: T) -> Self
pub fn set_message_id<T: Into<String>>(self, v: T) -> Self
Sets the value of message_id.
Sourcepub fn set_publish_time<T>(self, v: T) -> Self
pub fn set_publish_time<T>(self, v: T) -> Self
Sets the value of publish_time.
Sourcepub fn set_or_clear_publish_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_publish_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of publish_time.
Sourcepub fn set_ordering_key<T: Into<String>>(self, v: T) -> Self
pub fn set_ordering_key<T: Into<String>>(self, v: T) -> Self
Sets the value of ordering_key.
Trait Implementations§
Source§impl Clone for PubsubMessage
impl Clone for PubsubMessage
Source§fn clone(&self) -> PubsubMessage
fn clone(&self) -> PubsubMessage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PubsubMessage
impl Debug for PubsubMessage
Source§impl Default for PubsubMessage
impl Default for PubsubMessage
Source§fn default() -> PubsubMessage
fn default() -> PubsubMessage
Source§impl Message for PubsubMessage
impl Message for PubsubMessage
Source§impl PartialEq for PubsubMessage
impl PartialEq for PubsubMessage
impl StructuralPartialEq for PubsubMessage
Auto Trait Implementations§
impl !Freeze for PubsubMessage
impl RefUnwindSafe for PubsubMessage
impl Send for PubsubMessage
impl Sync for PubsubMessage
impl Unpin for PubsubMessage
impl UnwindSafe for PubsubMessage
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
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request