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 { ... }
}grpc and http and protobuf only.Expand description
A Protocol Buffers message.
Required Methods§
Sourcefn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
Provided Methods§
Sourcefn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
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.
Sourcefn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message to a newly allocated buffer.
Sourcefn 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,
Encodes the message with a length-delimiter to a buffer.
An error will be returned if the buffer does not have sufficient capacity.
Sourcefn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message with a length-delimiter to a newly allocated buffer.
Sourcefn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
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.
Sourcefn 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,
Decodes a length-delimited instance of the message from the buffer.
Sourcefn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
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.
Sourcefn 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,
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§
Implementors§
impl Message for Annotation
impl Message for Any
impl Message for AnyValue
impl Message for Api
impl Message for ArrayValue
impl Message for BadRequest
impl Message for Buckets
impl Message for Bytes
google.protobuf.BytesValue
impl Message for CodeGeneratorRequest
impl Message for CodeGeneratorResponse
impl Message for DebugInfo
impl Message for DescriptorProto
impl Message for Duration
impl Message for EntityRef
impl Message for Enum
impl Message for EnumDescriptorProto
impl Message for EnumOptions
impl Message for EnumReservedRange
impl Message for EnumValue
impl Message for EnumValueDescriptorProto
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
impl Message for ExtensionRange
impl Message for ExtensionRangeOptions
impl Message for Field
impl Message for FieldDescriptorProto
impl Message for FieldMask
impl Message for FieldOptions
impl Message for FieldViolation
impl Message for File
impl Message for FileDescriptorProto
impl Message for FileDescriptorSet
impl Message for FileOptions
impl Message for Gauge
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
impl Message for rama::http::grpc::service::opentelemetry::proto::trace::v1::span::Link
impl Message for rama::http::grpc::protobuf::types::pb::help::Link
impl Message for ListValue
impl Message for LocalizedMessage
impl Message for Location
impl Message for LogRecord
impl Message for LogsData
impl Message for MessageOptions
impl Message for Method
impl Message for MethodDescriptorProto
impl Message for MethodOptions
impl Message for Metric
impl Message for MetricsData
impl Message for Mixin
impl Message for NamePart
impl Message for NumberDataPoint
impl Message for OneofDescriptorProto
impl Message for OneofOptions
impl Message for Option
impl Message for PreconditionFailure
impl Message for QuotaFailure
impl Message for RequestInfo
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
impl Message for ServiceDescriptorProto
impl Message for ServiceOptions
impl Message for SourceCodeInfo
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
impl Message for String
google.protobuf.StringValue
impl Message for Struct
impl Message for Sum
impl Message for Summary
impl Message for SummaryDataPoint
impl Message for Timestamp
impl Message for TracesData
impl Message for Type
impl Message for UninterpretedOption
impl Message for Value
impl Message for ValueAtQuantile
impl Message for Vec<u8>
google.protobuf.BytesValue