Skip to main content

RemotingCommand

Struct RemotingCommand 

Source
pub struct RemotingCommand { /* private fields */ }

Implementations§

Source§

impl RemotingCommand

Source

pub fn set_code(self, code: impl Into<i32>) -> Self

Source

pub fn set_code_ref(&mut self, code: impl Into<i32>)

Source

pub fn set_code_mut(&mut self, code: impl Into<i32>) -> &mut Self

Source

pub fn set_language(self, language: LanguageCode) -> Self

Source

pub fn set_version_ref(&mut self, version: i32)

Source

pub fn set_version(self, version: i32) -> Self

Source

pub fn set_opaque(self, opaque: i32) -> Self

Source

pub fn set_opaque_mut(&mut self, opaque: i32)

Source

pub fn set_remark_option(self, remark: Option<impl Into<CheetahString>>) -> Self

Source

pub fn set_remark(self, remark: impl Into<CheetahString>) -> Self

Source

pub fn set_remark_option_mut( &mut self, remark: Option<impl Into<CheetahString>>, )

Source

pub fn set_remark_mut(&mut self, remark: impl Into<CheetahString>)

Source

pub fn set_ext_fields( self, ext_fields: HashMap<CheetahString, CheetahString>, ) -> Self

Source

pub fn set_body(self, body: impl Into<Bytes>) -> Self

Source

pub fn set_body_mut_ref(&mut self, body: impl Into<Bytes>)

Source

pub fn set_suspended(self, suspended: bool) -> Self

Source

pub fn set_suspended_ref(&mut self, suspended: bool)

Source

pub fn set_serialize_type(self, serialize_type: SerializeType) -> Self

Source

pub fn get_body(&self) -> Option<&Bytes>

Source

pub fn get_body_mut(&mut self) -> Option<&mut Bytes>

Source

pub fn code(&self) -> i32

Source

pub fn request_code(&self) -> RequestCode

Source

pub fn code_ref(&self) -> &i32

Source

pub fn language(&self) -> LanguageCode

Source

pub fn version(&self) -> i32

Source

pub fn rocketmq_version(&self) -> RocketMqVersion

Source

pub fn opaque(&self) -> i32

Source

pub fn remark(&self) -> Option<&CheetahString>

Source

pub fn ext_fields(&self) -> Option<&HashMap<CheetahString, CheetahString>>

Source

pub fn body(&self) -> Option<&Bytes>

Source

pub fn take_body(&mut self) -> Option<Bytes>

Source

pub fn suspended(&self) -> bool

Source

pub fn serialize_type(&self) -> SerializeType

Source

pub fn with_opaque(&mut self, opaque: i32) -> &mut Self

Source

pub fn add_ext_field( &mut self, key: impl Into<CheetahString>, value: impl Into<CheetahString>, ) -> &mut Self

Source

pub fn with_code(&mut self, code: impl Into<i32>) -> &mut Self

Source

pub fn with_remark(&mut self, remark: impl Into<CheetahString>) -> &mut Self

Source

pub fn get_ext_fields(&self) -> Option<&HashMap<CheetahString, CheetahString>>

Source

pub fn add_ext_field_if_not_exist( &mut self, key: impl Into<CheetahString>, value: impl Into<CheetahString>, )

Source

pub fn ensure_ext_fields_initialized(&mut self)

Ensures the extension fields map is initialized.

If ext_fields is None, initializes it with an empty HashMap. This method is idempotent and safe to call multiple times.

Source§

impl RemotingCommand

Source

pub fn with_resolved_defaults( version: i32, serialize_type: SerializeType, ) -> Self

Constructs a command from defaults resolved by the owning facade.

The protocol crate deliberately does not read process environment or configuration files. Legacy facades resolve those sources and pass the resulting wire values here.

Source

pub fn new_request(code: impl Into<i32>, body: impl Into<Bytes>) -> Self

Source

pub fn create_request_command<T>(code: impl Into<i32>, header: T) -> Self
where T: CommandCustomHeader + Sync + Send + 'static,

Source

pub fn create_request_command_with_defaults<T>( code: impl Into<i32>, header: T, version: i32, serialize_type: SerializeType, ) -> Self
where T: CommandCustomHeader + Sync + Send + 'static,

Creates a request using defaults resolved by the transport/facade owner.

Source

pub fn create_remoting_command(code: impl Into<i32>) -> Self

Source

pub fn get_and_add() -> i32

Source

pub fn create_response_command_with_code(code: impl Into<i32>) -> Self

Source

pub fn create_response_command_with_code_and_header( code: impl Into<i32>, header: impl CommandCustomHeader + Sync + Send + 'static, ) -> Self

Creates a response with an explicit code and typed custom header.

Source

pub fn create_response_command_with_code_remark( code: impl Into<i32>, remark: impl Into<CheetahString>, ) -> Self

Source

pub fn create_success_response_command() -> Self

Creates an explicitly successful response.

Source

pub fn create_success_response_command_with_header( header: impl CommandCustomHeader + Sync + Send + 'static, ) -> Self

Creates an explicitly successful response with a typed custom header.

Source

pub fn create_java_default_error_response_command() -> Self

Creates the unset error response used by Java’s typed-header factory.

Source

pub fn create_java_default_error_response_command_with_header( header: impl CommandCustomHeader + Sync + Send + 'static, ) -> Self

Creates the unset Java-compatible error response with a typed header.

Source

pub fn create_new_request_id() -> i32

Source§

impl RemotingCommand

Source

pub fn set_command_custom_header<T>(self, command_custom_header: T) -> Self
where T: CommandCustomHeader + Sync + Send + 'static,

Source

pub fn set_command_custom_header_boxed( self, command_custom_header: Box<dyn CommandCustomHeader + Send + Sync + 'static>, ) -> Self

Source

pub fn set_command_custom_header_origin<T>( self, command_custom_header: Option<T>, ) -> Self
where T: Deref<Target = Box<dyn CommandCustomHeader + Send + Sync + 'static>>,

Source

pub fn set_command_custom_header_ref<T>(&mut self, command_custom_header: T)
where T: CommandCustomHeader + Sync + Send + 'static,

Source

pub fn try_make_custom_header_to_net( &mut self, ) -> Result<(), ProtocolContractViolation>

Fallibly merges the custom header into dynamic extension fields.

§Errors

Returns a typed validation, conversion, alias, or dynamic-field collision error without mutating this command.

Source

pub fn decode_command_custom_header<T>(&self) -> Result<T>
where T: FromMap<Target = T, Error = Error>,

Source

pub fn decode_command_custom_header_fast<T>(&self) -> Result<T>
where T: FromMap<Target = T, Error = Error> + Default + CommandCustomHeader,

Source

pub fn decode_required_header<T>(&self, operation: &'static str) -> Result<T>
where T: FromMap<Target = T, Error = Error>,

Decodes a required custom request header and classifies any failure at the request-header boundary.

operation must be a static, low-cardinality description. It is exposed as structured error context, while the source retains the decoder cause.

§Errors

Returns a canonical request-header error when the extension fields are absent or the header cannot be decoded.

Source

pub fn decode_required_header_fast<T>( &self, operation: &'static str, ) -> Result<T>
where T: FromMap<Target = T, Error = Error> + Default + CommandCustomHeader,

Decodes a required custom request header through the fast codec when the header supports it and classifies any failure at the request-header boundary.

operation must be a static, low-cardinality description. It is exposed as structured error context, while the source retains the decoder cause.

§Errors

Returns a canonical request-header error when the extension fields are absent or the header cannot be decoded.

Source

pub fn try_read_custom_header_ref<T>(&self) -> Result<&T>
where T: CommandCustomHeader + Sync + Send + 'static,

Source

pub fn try_read_custom_header_mut<T>(&mut self) -> Result<&mut T>
where T: CommandCustomHeader + Sync + Send + 'static,

Source

pub fn command_custom_header_ref(&self) -> Option<&dyn CommandCustomHeader>

Source

pub fn command_custom_header_mut( &mut self, ) -> Option<&mut dyn CommandCustomHeader>

Source§

impl RemotingCommand

Source

pub fn decode(src: &mut BytesMut) -> Result<Option<RemotingCommand>>

Decodes one command with the historical 16 MiB announced-payload ceiling.

Transport owners with an explicit total-wire limit should use Self::decode_with_max_frame_bytes so inbound and outbound policy stays symmetric.

Source

pub fn decode_with_max_frame_bytes( src: &mut BytesMut, max_frame_bytes: usize, ) -> Result<Option<RemotingCommand>>

Decodes one command bounded by a caller-owned complete wire-frame limit.

max_frame_bytes includes the four-byte announced-length prefix.

§Errors

Returns a serialization error for a negative, overflowing, oversized, or malformed frame.

Source

pub fn header_decode( src: &mut BytesMut, header_length: usize, type_: SerializeType, ) -> Result<Option<RemotingCommand>>

Optimized header decoding with type-based dispatch

Source§

impl RemotingCommand

Source

pub fn try_fast_header_encode(&mut self, dst: &mut BytesMut) -> Result<()>

Encodes the frame header and rolls the destination back on failure.

§Errors

Returns the custom-header validation or direct-binary encoding failure.

Source§

impl RemotingCommand

Source

pub fn set_flag(self, flag: i32) -> Self

Source

pub fn mark_response_type(self) -> Self

Source

pub fn mark_response_type_ref(&mut self)

Source

pub fn mark_oneway_rpc(self) -> Self

Source

pub fn mark_oneway_rpc_ref(&mut self)

Source

pub fn get_serialize_type(&self) -> SerializeType

Source

pub fn flag(&self) -> i32

Source

pub fn is_response_type(&self) -> bool

Source

pub fn is_oneway_rpc(&self) -> bool

Source

pub fn get_type(&self) -> RemotingCommandType

Source§

impl RemotingCommand

Source

pub fn mark_serialize_type( header_length: i32, protocol_type: SerializeType, ) -> i32

Source§

impl RemotingCommand

Source

pub fn create_response_command() -> Self

👎Deprecated:

use create_success_response_command for SUCCESS or create_java_default_error_response_command for Java-compatible unset errors

Legacy ambiguous-success response factory.

New code should call Self::create_success_response_command so the response intent is visible during review. Call Self::create_java_default_error_response_command when matching Java’s unset-response behavior instead.

Source

pub fn create_response_command_with_header( header: impl CommandCustomHeader + Sync + Send + 'static, ) -> Self

👎Deprecated:

use create_success_response_command_with_header for SUCCESS or create_java_default_error_response_command_with_header for Java-compatible unset errors

Legacy ambiguous-success typed-header response factory.

New code should call Self::create_success_response_command_with_header. Call Self::create_java_default_error_response_command_with_header when matching Java’s unset-response behavior instead.

Source

pub fn make_custom_header_to_net(&mut self)

Convert custom header to network format (merge into ext_fields)

Source

pub fn materialize_custom_header_to_ext_fields(&mut self)

Source

pub fn read_custom_header_ref_unchecked<T>(&self) -> Result<&T>
where T: CommandCustomHeader + Sync + Send + 'static,

👎Deprecated since 1.0.0:

use try_read_custom_header_ref; this compatibility alias is fallible despite its historical unchecked name

Source

pub fn read_custom_header_mut_from_ref<T>(&mut self) -> Option<&mut T>
where T: CommandCustomHeader + Sync + Send + 'static,

👎Deprecated:

use read_custom_header_mut; shared-reference mutation is no longer supported

Compatibility name for the former shared-reference mutation escape.

Mutation now requires exclusive access to this command and succeeds only when the safely shared header is uniquely owned.

Source

pub fn read_custom_header_mut_unchecked<T>(&mut self) -> Result<&mut T>
where T: CommandCustomHeader + Sync + Send + 'static,

👎Deprecated since 1.0.0:

use try_read_custom_header_mut; this compatibility alias is fallible despite its historical unchecked name

Source

pub fn read_custom_header_ref<T>(&self) -> Option<&T>
where T: CommandCustomHeader + Sync + Send + 'static,

Source

pub fn read_custom_header_mut<T>(&mut self) -> Option<&mut T>
where T: CommandCustomHeader + Sync + Send + 'static,

Source

pub fn header_encode(&mut self) -> Option<Bytes>

Encode header with optimized path selection

Source

pub fn fast_header_encode(&mut self, dst: &mut BytesMut)

Source

pub fn encode_header(&mut self) -> Option<Bytes>

Encode header with body length information

Source

pub fn encode_header_with_body_length( &mut self, body_length: usize, ) -> Option<Bytes>

Optimized header encoding with pre-calculated capacity

Trait Implementations§

Source§

impl AsMut<RemotingCommand> for RemotingCommand

Source§

fn as_mut(&mut self) -> &mut RemotingCommand

Converts this type into a mutable reference of the (usually inferred) input type.
Source§

impl AsRef<RemotingCommand> for RemotingCommand

Source§

fn as_ref(&self) -> &RemotingCommand

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Clone for RemotingCommand

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Default for RemotingCommand

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for RemotingCommand

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for RemotingCommand

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Serialize for RemotingCommand

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> FmtForward for T

Source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
Source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
Source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
Source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
Source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
Source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
Source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
Source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
Source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pipe for T
where T: ?Sized,

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
Source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
Source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> RemotingDeserializable for T

Source§

impl<T> RemotingSerializable for T
where T: Serialize,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more