pub struct RequestChannelService { /* private fields */ }Expand description
A Service sending Requests over a RequestSender channel
Implementations§
Source§impl RequestChannelService
impl RequestChannelService
pub fn new(tx: RequestSender) -> Self
Trait Implementations§
Source§impl Clone for RequestChannelService
impl Clone for RequestChannelService
Source§fn clone(&self) -> RequestChannelService
fn clone(&self) -> RequestChannelService
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RequestChannelService
impl Debug for RequestChannelService
Source§impl<State> Service<State, Request> for RequestChannelService
impl<State> Service<State, Request> for RequestChannelService
Source§impl Storage for RequestChannelService
impl Storage for RequestChannelService
Source§fn register_broker<'life0, 'async_trait>(
&'life0 self,
broker_registration: BrokerRegistrationRequest,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn register_broker<'life0, 'async_trait>(
&'life0 self,
broker_registration: BrokerRegistrationRequest,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
On startup a broker will register with storage.
Source§fn incremental_alter_resource<'life0, 'async_trait>(
&'life0 self,
resource: AlterConfigsResource,
) -> Pin<Box<dyn Future<Output = Result<AlterConfigsResourceResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn incremental_alter_resource<'life0, 'async_trait>(
&'life0 self,
resource: AlterConfigsResource,
) -> Pin<Box<dyn Future<Output = Result<AlterConfigsResourceResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Incrementally alter a resource on this storage.
Source§fn create_topic<'life0, 'async_trait>(
&'life0 self,
topic: CreatableTopic,
validate_only: bool,
) -> Pin<Box<dyn Future<Output = Result<Uuid>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_topic<'life0, 'async_trait>(
&'life0 self,
topic: CreatableTopic,
validate_only: bool,
) -> Pin<Box<dyn Future<Output = Result<Uuid>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Create a topic on this storage.
Source§fn delete_records<'life0, 'life1, 'async_trait>(
&'life0 self,
topics: &'life1 [DeleteRecordsTopic],
) -> Pin<Box<dyn Future<Output = Result<Vec<DeleteRecordsTopicResult>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_records<'life0, 'life1, 'async_trait>(
&'life0 self,
topics: &'life1 [DeleteRecordsTopic],
) -> Pin<Box<dyn Future<Output = Result<Vec<DeleteRecordsTopicResult>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Delete records on this storage.
Source§fn delete_topic<'life0, 'life1, 'async_trait>(
&'life0 self,
topic: &'life1 TopicId,
) -> Pin<Box<dyn Future<Output = Result<ErrorCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_topic<'life0, 'life1, 'async_trait>(
&'life0 self,
topic: &'life1 TopicId,
) -> Pin<Box<dyn Future<Output = Result<ErrorCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Delete a topic from this storage.
Source§fn brokers<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<DescribeClusterBroker>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn brokers<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<DescribeClusterBroker>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Query the brokers registered with this storage.
Source§fn produce<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
transaction_id: Option<&'life1 str>,
topition: &'life2 Topition,
batch: Batch,
) -> Pin<Box<dyn Future<Output = Result<i64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn produce<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
transaction_id: Option<&'life1 str>,
topition: &'life2 Topition,
batch: Batch,
) -> Pin<Box<dyn Future<Output = Result<i64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Produce a deflated batch to this storage.
Source§fn fetch<'life0, 'life1, 'async_trait>(
&'life0 self,
topition: &'life1 Topition,
offset: i64,
min_bytes: u32,
max_bytes: u32,
isolation: IsolationLevel,
) -> Pin<Box<dyn Future<Output = Result<Vec<Batch>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch<'life0, 'life1, 'async_trait>(
&'life0 self,
topition: &'life1 Topition,
offset: i64,
min_bytes: u32,
max_bytes: u32,
isolation: IsolationLevel,
) -> Pin<Box<dyn Future<Output = Result<Vec<Batch>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Fetch deflated batches from storage.
Source§fn offset_stage<'life0, 'life1, 'async_trait>(
&'life0 self,
topition: &'life1 Topition,
) -> Pin<Box<dyn Future<Output = Result<OffsetStage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn offset_stage<'life0, 'life1, 'async_trait>(
&'life0 self,
topition: &'life1 Topition,
) -> Pin<Box<dyn Future<Output = Result<OffsetStage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Query the offset stage for a topic partition.
Source§fn list_offsets<'life0, 'life1, 'async_trait>(
&'life0 self,
isolation_level: IsolationLevel,
offsets: &'life1 [(Topition, ListOffset)],
) -> Pin<Box<dyn Future<Output = Result<Vec<(Topition, ListOffsetResponse)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_offsets<'life0, 'life1, 'async_trait>(
&'life0 self,
isolation_level: IsolationLevel,
offsets: &'life1 [(Topition, ListOffset)],
) -> Pin<Box<dyn Future<Output = Result<Vec<(Topition, ListOffsetResponse)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Query the offsets for one or more topic partitions.
Source§fn offset_commit<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
group_id: &'life1 str,
retention_time_ms: Option<Duration>,
offsets: &'life2 [(Topition, OffsetCommitRequest)],
) -> Pin<Box<dyn Future<Output = Result<Vec<(Topition, ErrorCode)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn offset_commit<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
group_id: &'life1 str,
retention_time_ms: Option<Duration>,
offsets: &'life2 [(Topition, OffsetCommitRequest)],
) -> Pin<Box<dyn Future<Output = Result<Vec<(Topition, ErrorCode)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Commit offsets for one or more topic partitions in a consumer group.
Source§fn committed_offset_topitions<'life0, 'life1, 'async_trait>(
&'life0 self,
group_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<BTreeMap<Topition, i64>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn committed_offset_topitions<'life0, 'life1, 'async_trait>(
&'life0 self,
group_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<BTreeMap<Topition, i64>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Fetch all committed offsets in a consumer group.
Source§fn offset_fetch<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
group_id: Option<&'life1 str>,
topics: &'life2 [Topition],
require_stable: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<BTreeMap<Topition, i64>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn offset_fetch<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
group_id: Option<&'life1 str>,
topics: &'life2 [Topition],
require_stable: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<BTreeMap<Topition, i64>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Fetch committed offsets for one or more topic partitions in a consumer group.
Source§fn metadata<'life0, 'life1, 'async_trait>(
&'life0 self,
topics: Option<&'life1 [TopicId]>,
) -> Pin<Box<dyn Future<Output = Result<MetadataResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn metadata<'life0, 'life1, 'async_trait>(
&'life0 self,
topics: Option<&'life1 [TopicId]>,
) -> Pin<Box<dyn Future<Output = Result<MetadataResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Query broker and topic metadata.
Source§fn describe_config<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
name: &'life1 str,
resource: ConfigResource,
keys: Option<&'life2 [String]>,
) -> Pin<Box<dyn Future<Output = Result<DescribeConfigsResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn describe_config<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
name: &'life1 str,
resource: ConfigResource,
keys: Option<&'life2 [String]>,
) -> Pin<Box<dyn Future<Output = Result<DescribeConfigsResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Query the configuration of a resource in this storage.
Source§fn describe_topic_partitions<'life0, 'life1, 'async_trait>(
&'life0 self,
topics: Option<&'life1 [TopicId]>,
partition_limit: i32,
cursor: Option<Topition>,
) -> Pin<Box<dyn Future<Output = Result<Vec<DescribeTopicPartitionsResponseTopic>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn describe_topic_partitions<'life0, 'life1, 'async_trait>(
&'life0 self,
topics: Option<&'life1 [TopicId]>,
partition_limit: i32,
cursor: Option<Topition>,
) -> Pin<Box<dyn Future<Output = Result<Vec<DescribeTopicPartitionsResponseTopic>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Describe the topic partitions found in this storage.
Source§fn list_groups<'life0, 'life1, 'async_trait>(
&'life0 self,
states_filter: Option<&'life1 [String]>,
) -> Pin<Box<dyn Future<Output = Result<Vec<ListedGroup>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_groups<'life0, 'life1, 'async_trait>(
&'life0 self,
states_filter: Option<&'life1 [String]>,
) -> Pin<Box<dyn Future<Output = Result<Vec<ListedGroup>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Query available groups optionally with a state filter.
Source§fn delete_groups<'life0, 'life1, 'async_trait>(
&'life0 self,
group_ids: Option<&'life1 [String]>,
) -> Pin<Box<dyn Future<Output = Result<Vec<DeletableGroupResult>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_groups<'life0, 'life1, 'async_trait>(
&'life0 self,
group_ids: Option<&'life1 [String]>,
) -> Pin<Box<dyn Future<Output = Result<Vec<DeletableGroupResult>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Delete one or more groups from storage.
Source§fn describe_groups<'life0, 'life1, 'async_trait>(
&'life0 self,
group_ids: Option<&'life1 [String]>,
include_authorized_operations: bool,
) -> Pin<Box<dyn Future<Output = Result<Vec<NamedGroupDetail>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn describe_groups<'life0, 'life1, 'async_trait>(
&'life0 self,
group_ids: Option<&'life1 [String]>,
include_authorized_operations: bool,
) -> Pin<Box<dyn Future<Output = Result<Vec<NamedGroupDetail>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Describe the groups found in this storage.
Source§fn update_group<'life0, 'life1, 'async_trait>(
&'life0 self,
group_id: &'life1 str,
detail: GroupDetail,
version: Option<Version>,
) -> Pin<Box<dyn Future<Output = Result<Version, UpdateError<GroupDetail>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_group<'life0, 'life1, 'async_trait>(
&'life0 self,
group_id: &'life1 str,
detail: GroupDetail,
version: Option<Version>,
) -> Pin<Box<dyn Future<Output = Result<Version, UpdateError<GroupDetail>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Conditionally update the state of a group in this storage.
Source§fn init_producer<'life0, 'life1, 'async_trait>(
&'life0 self,
transaction_id: Option<&'life1 str>,
transaction_timeout_ms: i32,
producer_id: Option<i64>,
producer_epoch: Option<i16>,
) -> Pin<Box<dyn Future<Output = Result<ProducerIdResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn init_producer<'life0, 'life1, 'async_trait>(
&'life0 self,
transaction_id: Option<&'life1 str>,
transaction_timeout_ms: i32,
producer_id: Option<i64>,
producer_epoch: Option<i16>,
) -> Pin<Box<dyn Future<Output = Result<ProducerIdResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Initialise a transactional or idempotent producer in this storage.
Source§fn txn_add_offsets<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
transaction_id: &'life1 str,
producer_id: i64,
producer_epoch: i16,
group_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<ErrorCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn txn_add_offsets<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
transaction_id: &'life1 str,
producer_id: i64,
producer_epoch: i16,
group_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<ErrorCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Add offsets to a transaction for a producer.
Source§fn txn_add_partitions<'life0, 'async_trait>(
&'life0 self,
partitions: TxnAddPartitionsRequest,
) -> Pin<Box<dyn Future<Output = Result<TxnAddPartitionsResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn txn_add_partitions<'life0, 'async_trait>(
&'life0 self,
partitions: TxnAddPartitionsRequest,
) -> Pin<Box<dyn Future<Output = Result<TxnAddPartitionsResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Add partitions to a transaction.
Source§fn txn_offset_commit<'life0, 'async_trait>(
&'life0 self,
offsets: TxnOffsetCommitRequest,
) -> Pin<Box<dyn Future<Output = Result<Vec<TxnOffsetCommitResponseTopic>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn txn_offset_commit<'life0, 'async_trait>(
&'life0 self,
offsets: TxnOffsetCommitRequest,
) -> Pin<Box<dyn Future<Output = Result<Vec<TxnOffsetCommitResponseTopic>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Commit an offset within a transaction.
Source§fn txn_end<'life0, 'life1, 'async_trait>(
&'life0 self,
transaction_id: &'life1 str,
producer_id: i64,
producer_epoch: i16,
committed: bool,
) -> Pin<Box<dyn Future<Output = Result<ErrorCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn txn_end<'life0, 'life1, 'async_trait>(
&'life0 self,
transaction_id: &'life1 str,
producer_id: i64,
producer_epoch: i16,
committed: bool,
) -> Pin<Box<dyn Future<Output = Result<ErrorCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Commit or abort a running transaction.
Source§fn maintain<'life0, 'async_trait>(
&'life0 self,
now: SystemTime,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn maintain<'life0, 'async_trait>(
&'life0 self,
now: SystemTime,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Run periodic maintenance on this storage.
fn cluster_id<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn node<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<i32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn advertised_listener<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Url>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_user_scram_credential<'life0, 'life1, 'async_trait>(
&'life0 self,
user: &'life1 str,
mechanism: ScramMechanism,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn upsert_user_scram_credential<'life0, 'life1, 'async_trait>(
&'life0 self,
user: &'life1 str,
mechanism: ScramMechanism,
credential: ScramCredential,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn user_scram_credential<'life0, 'life1, 'async_trait>(
&'life0 self,
user: &'life1 str,
mechanism: ScramMechanism,
) -> Pin<Box<dyn Future<Output = Result<Option<ScramCredential>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn ping<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl Freeze for RequestChannelService
impl RefUnwindSafe for RequestChannelService
impl Send for RequestChannelService
impl Sync for RequestChannelService
impl Unpin for RequestChannelService
impl UnsafeUnpin for RequestChannelService
impl UnwindSafe for RequestChannelService
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more