pub struct MockBackend { /* private fields */ }Expand description
Recording mock storage backend wrapper for assertion-driven integration testing.
Implementations§
Source§impl MockBackend
impl MockBackend
Sourcepub fn new(inner: Arc<dyn StorageBackend>) -> Self
pub fn new(inner: Arc<dyn StorageBackend>) -> Self
Creates a new MockBackend wrapping a target inner StorageBackend.
Sourcepub fn with_memory() -> Self
pub fn with_memory() -> Self
Creates a MockBackend backed by an in-memory storage engine (MemoryBackend).
Sourcepub fn calls(&self) -> Vec<CallRecord>
pub fn calls(&self) -> Vec<CallRecord>
Returns a copy of all recorded backend call invocations.
Sourcepub fn clear_calls(&self)
pub fn clear_calls(&self)
Clears recorded call history.
Sourcepub fn assert_enqueued_job_type(&self, job_type: &str)
pub fn assert_enqueued_job_type(&self, job_type: &str)
Asserts that a job of job_type was enqueued through this backend.
Sourcepub fn assert_marked_succeeded(&self, target_job_id: Uuid)
pub fn assert_marked_succeeded(&self, target_job_id: Uuid)
Asserts that a job was completed successfully via mark_succeeded.
Sourcepub fn assert_marked_dlq(&self, target_job_id: Uuid)
pub fn assert_marked_dlq(&self, target_job_id: Uuid)
Asserts that a job was moved to Dead-Letter Queue (DLQ) via mark_dlq.
Trait Implementations§
Source§impl Clone for MockBackend
impl Clone for MockBackend
Source§fn clone(&self) -> MockBackend
fn clone(&self) -> MockBackend
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl StorageBackend for MockBackend
impl StorageBackend for MockBackend
Source§fn as_stream(&self) -> Option<&dyn StreamBackend>
fn as_stream(&self) -> Option<&dyn StreamBackend>
Returns reference to StreamBackend if supported by this storage implementation.
Source§fn run_migrations<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn run_migrations<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Executes backend schema migrations or setup steps.
Source§fn health_check<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn health_check<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Performs a health check to verify backend connectivity and readiness.
Source§fn enqueue<'life0, 'async_trait>(
&'life0 self,
job: NewJob,
) -> Pin<Box<dyn Future<Output = Result<Uuid>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn enqueue<'life0, 'async_trait>(
&'life0 self,
job: NewJob,
) -> Pin<Box<dyn Future<Output = Result<Uuid>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Enqueues a new job into the backend queue.
Source§fn subscribe<'life0, 'life1, 'async_trait>(
&'life0 self,
queue: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<NotificationStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn subscribe<'life0, 'life1, 'async_trait>(
&'life0 self,
queue: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<NotificationStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Subscribes to job enqueue notification events for a specific queue.
Source§fn lease_jobs_batch<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
queue: &'life1 str,
worker_id: &'life2 str,
lease_seconds: i64,
batch_size: i64,
) -> Pin<Box<dyn Future<Output = Result<Vec<Job>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn lease_jobs_batch<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
queue: &'life1 str,
worker_id: &'life2 str,
lease_seconds: i64,
batch_size: i64,
) -> Pin<Box<dyn Future<Output = Result<Vec<Job>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Leases up to
batch_size runnable jobs for a specified worker ID.Source§fn lease_jobs_batch_with_ordering<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
queue: &'life1 str,
worker_id: &'life2 str,
lease_seconds: i64,
batch_size: i64,
ordering: QueueOrdering,
) -> Pin<Box<dyn Future<Output = Result<Vec<Job>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn lease_jobs_batch_with_ordering<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
queue: &'life1 str,
worker_id: &'life2 str,
lease_seconds: i64,
batch_size: i64,
ordering: QueueOrdering,
) -> Pin<Box<dyn Future<Output = Result<Vec<Job>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Leases up to
batch_size runnable jobs with specified queue ordering preference (QueueOrdering).Source§fn reap_expired_locks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn reap_expired_locks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Reaps expired locks from inactive workers, resetting their status back to queued.
Source§fn start_attempts_batch<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
dataset_ids: &'life1 [String],
job_ids: &'life2 [Uuid],
worker_id: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<(Uuid, Uuid, i32)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn start_attempts_batch<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
dataset_ids: &'life1 [String],
job_ids: &'life2 [Uuid],
worker_id: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<(Uuid, Uuid, i32)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Starts job execution attempt records, returning
(job_id, attempt_id, attempt_number) tuples.Source§fn mark_succeeded<'life0, 'life1, 'async_trait>(
&'life0 self,
job_id: Uuid,
attempt_id: Uuid,
worker_id: &'life1 str,
latency_ms: i32,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn mark_succeeded<'life0, 'life1, 'async_trait>(
&'life0 self,
job_id: Uuid,
attempt_id: Uuid,
worker_id: &'life1 str,
latency_ms: i32,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Marks a single job execution attempt as succeeded.
Source§fn mark_succeeded_batch<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
dataset_id: &'life1 str,
updates: &'life2 [(Uuid, Uuid, i32)],
worker_id: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn mark_succeeded_batch<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
dataset_id: &'life1 str,
updates: &'life2 [(Uuid, Uuid, i32)],
worker_id: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Marks a batch of job execution attempts as succeeded.
Source§fn reschedule_for_retry<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
job_id: Uuid,
attempt_id: Uuid,
worker_id: &'life1 str,
latency_ms: i32,
next_run_at: DateTime<Utc>,
error_code: &'life2 str,
error_message: &'life3 str,
attempt_no: i32,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn reschedule_for_retry<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
job_id: Uuid,
attempt_id: Uuid,
worker_id: &'life1 str,
latency_ms: i32,
next_run_at: DateTime<Utc>,
error_code: &'life2 str,
error_message: &'life3 str,
attempt_no: i32,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Records a failed attempt and reschedules the job for a future retry attempt.
Source§fn mark_dlq<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
job_id: Uuid,
attempt_id: Uuid,
worker_id: &'life1 str,
latency_ms: i32,
reason_code: &'life2 str,
error_code: &'life3 str,
error_message: &'life4 str,
attempt_no: i32,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn mark_dlq<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
job_id: Uuid,
attempt_id: Uuid,
worker_id: &'life1 str,
latency_ms: i32,
reason_code: &'life2 str,
error_code: &'life3 str,
error_message: &'life4 str,
attempt_no: i32,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Records a failed attempt and transitions the job to the Dead-Letter Queue (DLQ).
Source§fn archive_succeeded_older_than<'life0, 'async_trait>(
&'life0 self,
cutoff: DateTime<Utc>,
limit: i64,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn archive_succeeded_older_than<'life0, 'async_trait>(
&'life0 self,
cutoff: DateTime<Utc>,
limit: i64,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Moves succeeded jobs older than
cutoff into an archive table or storage location.Source§fn delete_history_for_succeeded_older_than<'life0, 'async_trait>(
&'life0 self,
cutoff: DateTime<Utc>,
limit: i64,
) -> Pin<Box<dyn Future<Output = Result<(u64, u64)>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_history_for_succeeded_older_than<'life0, 'async_trait>(
&'life0 self,
cutoff: DateTime<Utc>,
limit: i64,
) -> Pin<Box<dyn Future<Output = Result<(u64, u64)>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Prunes attempt audit logs and decision records for succeeded jobs older than
cutoff.Source§fn perform_maintenance<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn perform_maintenance<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Performs database maintenance (e.g., VACUUM ANALYZE in Postgres, PRAGMA incremental_vacuum in SQLite).
Source§fn extend_lease<'life0, 'life1, 'async_trait>(
&'life0 self,
job_id: Uuid,
worker_id: &'life1 str,
lease_seconds: i64,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn extend_lease<'life0, 'life1, 'async_trait>(
&'life0 self,
job_id: Uuid,
worker_id: &'life1 str,
lease_seconds: i64,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Extends the lease lock expiration for an in-flight running job.
Returns
true if the lease was extended, false if the job lock was lost or reaped.Source§fn get_job<'life0, 'async_trait>(
&'life0 self,
job_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<Job>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_job<'life0, 'async_trait>(
&'life0 self,
job_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<Job>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Fetches a single job record by ID.
Source§fn list_jobs<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
queue: Option<&'life1 str>,
status: Option<&'life2 str>,
limit: i64,
cursor_created_at: Option<DateTime<Utc>>,
cursor_id: Option<Uuid>,
) -> Pin<Box<dyn Future<Output = Result<Vec<JobListItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn list_jobs<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
queue: Option<&'life1 str>,
status: Option<&'life2 str>,
limit: i64,
cursor_created_at: Option<DateTime<Utc>>,
cursor_id: Option<Uuid>,
) -> Pin<Box<dyn Future<Output = Result<Vec<JobListItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Fetches a list of jobs matching filters with cursor pagination.
Source§fn replay_job<'life0, 'life1, 'async_trait>(
&'life0 self,
job_id: Uuid,
override_queue: Option<&'life1 str>,
override_run_at: Option<DateTime<Utc>>,
) -> Pin<Box<dyn Future<Output = Result<Uuid>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn replay_job<'life0, 'life1, 'async_trait>(
&'life0 self,
job_id: Uuid,
override_queue: Option<&'life1 str>,
override_run_at: Option<DateTime<Utc>>,
) -> Pin<Box<dyn Future<Output = Result<Uuid>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Atomically replays a job by ID into the queue.
Source§fn dequeue_and_lease<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
queue: &'life1 str,
worker_id: &'life2 str,
lease_seconds: i64,
batch_size: i64,
) -> Pin<Box<dyn Future<Output = Result<Vec<Job>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn dequeue_and_lease<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
queue: &'life1 str,
worker_id: &'life2 str,
lease_seconds: i64,
batch_size: i64,
) -> Pin<Box<dyn Future<Output = Result<Vec<Job>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Dequeues and leases up to
batch_size runnable jobs (alias for lease_jobs_batch).Source§fn complete_job<'life0, 'life1, 'async_trait>(
&'life0 self,
job_id: Uuid,
attempt_id: Uuid,
worker_id: &'life1 str,
latency_ms: i32,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn complete_job<'life0, 'life1, 'async_trait>(
&'life0 self,
job_id: Uuid,
attempt_id: Uuid,
worker_id: &'life1 str,
latency_ms: i32,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Marks a job attempt as completed (alias for
mark_succeeded).Source§fn retry_job<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
job_id: Uuid,
attempt_id: Uuid,
worker_id: &'life1 str,
latency_ms: i32,
next_run_at: DateTime<Utc>,
error_code: &'life2 str,
error_message: &'life3 str,
attempt_no: i32,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn retry_job<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
job_id: Uuid,
attempt_id: Uuid,
worker_id: &'life1 str,
latency_ms: i32,
next_run_at: DateTime<Utc>,
error_code: &'life2 str,
error_message: &'life3 str,
attempt_no: i32,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Reschedules a job for retry (alias for
reschedule_for_retry).Source§fn fail_job<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
job_id: Uuid,
attempt_id: Uuid,
worker_id: &'life1 str,
latency_ms: i32,
reason_code: &'life2 str,
error_code: &'life3 str,
error_message: &'life4 str,
attempt_no: i32,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn fail_job<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
job_id: Uuid,
attempt_id: Uuid,
worker_id: &'life1 str,
latency_ms: i32,
reason_code: &'life2 str,
error_code: &'life3 str,
error_message: &'life4 str,
attempt_no: i32,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Moves a job to DLQ on failure (alias for
mark_dlq).Source§impl StreamBackend for MockBackend
impl StreamBackend for MockBackend
Source§fn publish<'life0, 'life1, 'async_trait>(
&'life0 self,
stream: &'life1 str,
event: NewEvent,
) -> Pin<Box<dyn Future<Output = Result<i64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn publish<'life0, 'life1, 'async_trait>(
&'life0 self,
stream: &'life1 str,
event: NewEvent,
) -> Pin<Box<dyn Future<Output = Result<i64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Appends a new event to the specified stream log, returning its assigned sequence number.
Source§fn subscribe_stream<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
stream: &'life1 str,
consumer_group: &'life2 str,
last_seq: Option<i64>,
) -> Pin<Box<dyn Future<Output = Result<NotificationStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn subscribe_stream<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
stream: &'life1 str,
consumer_group: &'life2 str,
last_seq: Option<i64>,
) -> Pin<Box<dyn Future<Output = Result<NotificationStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Subscribes to notification events when new entries are appended to a stream.
Source§fn ack<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
stream: &'life1 str,
consumer_group: &'life2 str,
seq: i64,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn ack<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
stream: &'life1 str,
consumer_group: &'life2 str,
seq: i64,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Acknowledges event processing up to
seq for a consumer group on a stream log.Source§fn read_events<'life0, 'life1, 'async_trait>(
&'life0 self,
stream: &'life1 str,
after_seq: i64,
limit: i64,
) -> Pin<Box<dyn Future<Output = Result<Vec<Event>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn read_events<'life0, 'life1, 'async_trait>(
&'life0 self,
stream: &'life1 str,
after_seq: i64,
limit: i64,
) -> Pin<Box<dyn Future<Output = Result<Vec<Event>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Reads events from a stream with sequence numbers strictly greater than
after_seq.Source§fn consumer_group_info<'life0, 'life1, 'async_trait>(
&'life0 self,
stream: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<ConsumerGroupStatus>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn consumer_group_info<'life0, 'life1, 'async_trait>(
&'life0 self,
stream: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<ConsumerGroupStatus>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Fetches consumer group offset status for a stream log.
Auto Trait Implementations§
impl !RefUnwindSafe for MockBackend
impl !UnwindSafe for MockBackend
impl Freeze for MockBackend
impl Send for MockBackend
impl Sync for MockBackend
impl Unpin for MockBackend
impl UnsafeUnpin for MockBackend
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