Skip to main content

Message

Trait Message 

Source
pub trait Message: Send + Sync {
    // Required methods
    fn encoded_len(&self) -> usize;
    fn clear(&mut self);

    // Provided methods
    fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>
       where Self: Sized { ... }
    fn encode_to_vec(&self) -> Vec<u8> 
       where Self: Sized { ... }
    fn encode_length_delimited(
        &self,
        buf: &mut impl BufMut,
    ) -> Result<(), EncodeError>
       where Self: Sized { ... }
    fn encode_length_delimited_to_vec(&self) -> Vec<u8> 
       where Self: Sized { ... }
    fn decode(buf: impl Buf) -> Result<Self, DecodeError>
       where Self: Default { ... }
    fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>
       where Self: Default { ... }
    fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>
       where Self: Sized { ... }
    fn merge_length_delimited(
        &mut self,
        buf: impl Buf,
    ) -> Result<(), DecodeError>
       where Self: Sized { ... }
}
Available on crate features grpc and http and protobuf only.
Expand description

A Protocol Buffers message.

Required Methods§

Source

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.

Source

fn clear(&mut self)

Clears the message, resetting all fields to their default.

Provided Methods§

Source

fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message to a buffer.

An error will be returned if the buffer does not have sufficient capacity.

Source

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.

Source

fn encode_length_delimited( &self, buf: &mut impl BufMut, ) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message with a length-delimiter to a buffer.

An error will be returned if the buffer does not have sufficient capacity.

Source

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.

Source

fn decode(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes an instance of the message from a buffer.

The entire buffer will be consumed.

Source

fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes a length-delimited instance of the message from the buffer.

Source

fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self.

The entire buffer will be consumed.

Source

fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl Message for ()

google.protobuf.Empty

Source§

fn encoded_len(&self) -> usize

Source§

fn clear(&mut self)

Source§

impl Message for bool

google.protobuf.BoolValue

Source§

fn encoded_len(&self) -> usize

Source§

fn clear(&mut self)

Source§

impl Message for f32

google.protobuf.FloatValue

Source§

fn encoded_len(&self) -> usize

Source§

fn clear(&mut self)

Source§

impl Message for f64

google.protobuf.DoubleValue

Source§

fn encoded_len(&self) -> usize

Source§

fn clear(&mut self)

Source§

impl Message for i32

google.protobuf.Int32Value

Source§

fn encoded_len(&self) -> usize

Source§

fn clear(&mut self)

Source§

impl Message for i64

google.protobuf.Int64Value

Source§

fn encoded_len(&self) -> usize

Source§

fn clear(&mut self)

Source§

impl Message for u32

google.protobuf.UInt32Value

Source§

fn encoded_len(&self) -> usize

Source§

fn clear(&mut self)

Source§

impl Message for u64

google.protobuf.UInt64Value

Source§

fn encoded_len(&self) -> usize

Source§

fn clear(&mut self)

Implementors§

Source§

impl Message for Annotation

Source§

impl Message for Any

§

impl Message for AnyValue

Source§

impl Message for Api

§

impl Message for ArrayValue

§

impl Message for BadRequest

§

impl Message for Buckets

Source§

impl Message for Bytes

google.protobuf.BytesValue

Source§

impl Message for CodeGeneratorRequest

Source§

impl Message for CodeGeneratorResponse

§

impl Message for DebugInfo

Source§

impl Message for DescriptorProto

Source§

impl Message for Duration

§

impl Message for EntityRef

Source§

impl Message for Enum

Source§

impl Message for EnumDescriptorProto

Source§

impl Message for EnumOptions

Source§

impl Message for EnumReservedRange

Source§

impl Message for EnumValue

Source§

impl Message for EnumValueDescriptorProto

Source§

impl Message for EnumValueOptions

§

impl Message for ErrorInfo

§

impl Message for Event

§

impl Message for Exemplar

§

impl Message for ExponentialHistogram

§

impl Message for ExponentialHistogramDataPoint

§

impl Message for ExportLogsPartialSuccess

§

impl Message for ExportLogsServiceRequest

§

impl Message for ExportLogsServiceResponse

§

impl Message for ExportMetricsPartialSuccess

§

impl Message for ExportMetricsServiceRequest

§

impl Message for ExportMetricsServiceResponse

§

impl Message for ExportTracePartialSuccess

§

impl Message for ExportTraceServiceRequest

§

impl Message for ExportTraceServiceResponse

Source§

impl Message for ExtensionRange

Source§

impl Message for ExtensionRangeOptions

Source§

impl Message for Field

Source§

impl Message for FieldDescriptorProto

Source§

impl Message for FieldMask

Source§

impl Message for FieldOptions

§

impl Message for FieldViolation

Source§

impl Message for File

Source§

impl Message for FileDescriptorProto

Source§

impl Message for FileDescriptorSet

Source§

impl Message for FileOptions

§

impl Message for Gauge

Source§

impl Message for GeneratedCodeInfo

§

impl Message for HealthCheckRequest

§

impl Message for HealthCheckResponse

§

impl Message for HealthListRequest

§

impl Message for HealthListResponse

§

impl Message for Help

§

impl Message for Histogram

§

impl Message for HistogramDataPoint

§

impl Message for InstrumentationScope

§

impl Message for KeyValue

§

impl Message for KeyValueList

Source§

impl Message for ListValue

§

impl Message for LocalizedMessage

Source§

impl Message for Location

§

impl Message for LogRecord

§

impl Message for LogsData

Source§

impl Message for MessageOptions

Source§

impl Message for Method

Source§

impl Message for MethodDescriptorProto

Source§

impl Message for MethodOptions

§

impl Message for Metric

§

impl Message for MetricsData

Source§

impl Message for Mixin

Source§

impl Message for NamePart

§

impl Message for NumberDataPoint

Source§

impl Message for OneofDescriptorProto

Source§

impl Message for OneofOptions

Source§

impl Message for Option

§

impl Message for PreconditionFailure

§

impl Message for QuotaFailure

§

impl Message for RequestInfo

Source§

impl Message for ReservedRange

§

impl Message for Resource

§

impl Message for ResourceInfo

§

impl Message for ResourceLogs

§

impl Message for ResourceMetrics

§

impl Message for ResourceSpans

§

impl Message for RetryInfo

§

impl Message for ScopeLogs

§

impl Message for ScopeMetrics

§

impl Message for ScopeSpans

Source§

impl Message for ServiceDescriptorProto

Source§

impl Message for ServiceOptions

Source§

impl Message for SourceCodeInfo

Source§

impl Message for SourceContext

§

impl Message for Span

§

impl Message for rama::http::grpc::service::opentelemetry::proto::trace::v1::Status

§

impl Message for rama::http::grpc::protobuf::types::Status

Source§

impl Message for String

google.protobuf.StringValue

Source§

impl Message for Struct

§

impl Message for Sum

§

impl Message for Summary

§

impl Message for SummaryDataPoint

Source§

impl Message for Timestamp

§

impl Message for TracesData

Source§

impl Message for Type

Source§

impl Message for UninterpretedOption

Source§

impl Message for Value

§

impl Message for ValueAtQuantile

Source§

impl Message for Vec<u8>

google.protobuf.BytesValue

Source§

impl Message for Version

§

impl Message for rama::http::grpc::protobuf::types::pb::quota_failure::Violation

§

impl Message for rama::http::grpc::protobuf::types::pb::precondition_failure::Violation

Source§

impl<M> Message for Box<M>
where M: Message,