pub struct BulkCommandHandler { /* private fields */ }Expand description
Handles bulk operation commands for efficient processing of multiple messages.
Provides functionality for bulk message operations including delete, send, complete, abandon, and dead letter operations. Uses optimized batching strategies to handle large numbers of messages efficiently.
§Features
- Bulk Delete - Efficient deletion of multiple messages
- Bulk Send - Send multiple messages to target queues
- Bulk Complete/Abandon - Process multiple received messages
- Batch Optimization - Smart batching based on operation size
§Examples
use quetty_server::service_bus_manager::command_handlers::BulkCommandHandler;
let handler = BulkCommandHandler::new(
bulk_handler,
consumer_manager,
producer_manager,
batch_config
);
// Bulk delete messages
let response = handler.handle_bulk_delete(
message_ids,
1000 // max position
).await?;Implementations§
Source§impl BulkCommandHandler
impl BulkCommandHandler
pub fn new( bulk_handler: Arc<BulkOperationHandler>, consumer_manager: Arc<Mutex<ConsumerManager>>, producer_manager: Arc<Mutex<ProducerManager>>, batch_config: BatchConfig, ) -> Self
pub async fn handle_bulk_complete( &self, _message_ids: Vec<MessageIdentifier>, ) -> Result<ServiceBusResponse, ServiceBusError>
pub async fn handle_bulk_delete( &self, message_ids: Vec<MessageIdentifier>, max_position: usize, ) -> Result<ServiceBusResponse, ServiceBusError>
pub async fn handle_bulk_abandon( &self, _message_ids: Vec<MessageIdentifier>, ) -> Result<ServiceBusResponse, ServiceBusError>
pub async fn handle_bulk_dead_letter( &self, _message_ids: Vec<MessageIdentifier>, _reason: Option<String>, _error_description: Option<String>, ) -> Result<ServiceBusResponse, ServiceBusError>
pub async fn handle_bulk_send( &self, message_ids: Vec<MessageIdentifier>, target_queue: String, should_delete_source: bool, repeat_count: usize, _max_position: usize, ) -> Result<ServiceBusResponse, ServiceBusError>
pub async fn handle_bulk_send_peeked( &self, messages_data: Vec<(MessageIdentifier, Vec<u8>)>, target_queue: String, repeat_count: usize, ) -> Result<ServiceBusResponse, ServiceBusError>
Auto Trait Implementations§
impl Freeze for BulkCommandHandler
impl !RefUnwindSafe for BulkCommandHandler
impl Send for BulkCommandHandler
impl Sync for BulkCommandHandler
impl Unpin for BulkCommandHandler
impl !UnwindSafe for BulkCommandHandler
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
Mutably borrows from an owned value. Read more