Struct rocketmq::Producer

source ·
pub struct Producer { /* private fields */ }
Expand description

Producer is the core struct, to which application developers should turn, when publishing messages to RocketMQ proxy.

Producer is a thin wrapper of internal client struct that shoulders the actual workloads. Most of its methods take shared reference so that application developers may use it at will.

Producer is Send and Sync by design, so that developers may get started easily.

Implementations§

source§

impl Producer

source

pub fn new( option: ProducerOption, client_option: ClientOption ) -> Result<Self, ClientError>

Create a new producer instance

Arguments
  • option - producer option
  • client_option - client option
source

pub fn new_transaction_producer( option: ProducerOption, client_option: ClientOption, transaction_checker: Box<TransactionChecker> ) -> Result<Self, ClientError>

Create a new transaction producer instance

Arguments
  • option - producer option
  • client_option - client option
  • transaction_checker - handle server query for uncommitted transaction status
source

pub async fn start(&mut self) -> Result<(), ClientError>

Start the producer

source

pub async fn send( &self, message: impl Message ) -> Result<SendReceipt, ClientError>

Send a single message

Arguments
  • message - the message to send
source

pub async fn batch_send( &self, messages: Vec<impl Message> ) -> Result<Vec<SendReceipt>, ClientError>

Send a batch of messages

Arguments
  • messages - A vector that holds the messages to send
source

pub async fn send_transaction_message( &self, message: impl Message ) -> Result<impl Transaction, ClientError>

Send message in a transaction

source

pub async fn shutdown(self) -> Result<(), ClientError>

Trait Implementations§

source§

impl Debug for Producer

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for Twhere T: Any,

§

fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>

§

fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for Twhere T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T, Global>) -> Arc<dyn Any + Sync + Send, Global>

source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. 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 Twhere 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> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

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

§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

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

§

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.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

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