pub struct RemotingCommandFactory { /* private fields */ }Expand description
Builds business commands from one immutable set of wire defaults.
A factory does not read process configuration. Application owners may keep the process-default compatibility path or inject explicit factories when multiple remoting configurations must coexist in one process.
§Examples
use rocketmq_protocol::protocol::remoting_command_defaults::{
RemotingCommandDefaults, RemotingCommandFactory,
};
use rocketmq_protocol::protocol::SerializeType;
let json = RemotingCommandFactory::new(RemotingCommandDefaults::new(101, SerializeType::JSON));
let binary = RemotingCommandFactory::new(RemotingCommandDefaults::new(202, SerializeType::ROCKETMQ));
assert_eq!(json.create_remoting_command(10).version(), 101);
assert_eq!(binary.create_remoting_command(10).version(), 202);Implementations§
Source§impl RemotingCommandFactory
impl RemotingCommandFactory
Sourcepub const fn new(defaults: RemotingCommandDefaults) -> Self
pub const fn new(defaults: RemotingCommandDefaults) -> Self
Creates a factory with explicit version and serialization defaults.
Sourcepub const fn defaults(&self) -> RemotingCommandDefaults
pub const fn defaults(&self) -> RemotingCommandDefaults
Returns the immutable defaults owned by this factory.
Sourcepub fn create_remoting_command(&self, code: impl Into<i32>) -> RemotingCommand
pub fn create_remoting_command(&self, code: impl Into<i32>) -> RemotingCommand
Creates a base command with an explicit code.
Sourcepub fn create_request(
&self,
code: impl Into<i32>,
body: impl Into<Bytes>,
) -> RemotingCommand
pub fn create_request( &self, code: impl Into<i32>, body: impl Into<Bytes>, ) -> RemotingCommand
Creates a request with an external body.
Sourcepub fn create_request_command<T>(
&self,
code: impl Into<i32>,
header: T,
) -> RemotingCommand
pub fn create_request_command<T>( &self, code: impl Into<i32>, header: T, ) -> RemotingCommand
Creates a request with a typed custom header.
Sourcepub fn create_response_command_with_code(
&self,
code: impl Into<i32>,
) -> RemotingCommand
pub fn create_response_command_with_code( &self, code: impl Into<i32>, ) -> RemotingCommand
Creates a response with an explicit response code.
Sourcepub fn create_response_command_with_code_and_header(
&self,
code: impl Into<i32>,
header: impl CommandCustomHeader + Sync + Send + 'static,
) -> RemotingCommand
pub fn create_response_command_with_code_and_header( &self, code: impl Into<i32>, header: impl CommandCustomHeader + Sync + Send + 'static, ) -> RemotingCommand
Creates a response with an explicit code and typed custom header.
Sourcepub fn create_response_command_with_code_remark(
&self,
code: impl Into<i32>,
remark: impl Into<CheetahString>,
) -> RemotingCommand
pub fn create_response_command_with_code_remark( &self, code: impl Into<i32>, remark: impl Into<CheetahString>, ) -> RemotingCommand
Creates a response with an explicit code and remark.
Sourcepub fn create_success_response_command(&self) -> RemotingCommand
pub fn create_success_response_command(&self) -> RemotingCommand
Creates an explicitly successful response.
Sourcepub fn create_success_response_command_with_header(
&self,
header: impl CommandCustomHeader + Sync + Send + 'static,
) -> RemotingCommand
pub fn create_success_response_command_with_header( &self, header: impl CommandCustomHeader + Sync + Send + 'static, ) -> RemotingCommand
Creates an explicitly successful response with a typed custom header.
Sourcepub fn create_java_default_error_response_command(&self) -> RemotingCommand
pub fn create_java_default_error_response_command(&self) -> RemotingCommand
Creates Java’s unset error response.
Sourcepub fn create_java_default_error_response_command_with_header(
&self,
header: impl CommandCustomHeader + Sync + Send + 'static,
) -> RemotingCommand
pub fn create_java_default_error_response_command_with_header( &self, header: impl CommandCustomHeader + Sync + Send + 'static, ) -> RemotingCommand
Creates Java’s unset error response with a typed custom header.
Trait Implementations§
Source§impl Clone for RemotingCommandFactory
impl Clone for RemotingCommandFactory
impl Copy for RemotingCommandFactory
Source§impl Debug for RemotingCommandFactory
impl Debug for RemotingCommandFactory
impl Eq for RemotingCommandFactory
Source§impl PartialEq for RemotingCommandFactory
impl PartialEq for RemotingCommandFactory
impl StructuralPartialEq for RemotingCommandFactory
Auto Trait Implementations§
impl Freeze for RemotingCommandFactory
impl RefUnwindSafe for RemotingCommandFactory
impl Send for RemotingCommandFactory
impl Sync for RemotingCommandFactory
impl Unpin for RemotingCommandFactory
impl UnsafeUnpin for RemotingCommandFactory
impl UnwindSafe for RemotingCommandFactory
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.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> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
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
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
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
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.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
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.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
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.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
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.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
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.