pub struct TopicManager { /* private fields */ }Expand description
Manages all topics in the system
Implementations§
Source§impl TopicManager
impl TopicManager
Sourcepub fn new(config: Config) -> Self
pub fn new(config: Config) -> Self
Create a new topic manager and recover any existing topics from disk
Sourcepub fn new_with_tiered_storage(
config: Config,
tiered_storage: Arc<TieredStorage>,
) -> Self
pub fn new_with_tiered_storage( config: Config, tiered_storage: Arc<TieredStorage>, ) -> Self
Create a new topic manager with tiered storage support
Sourcepub fn has_tiered_storage(&self) -> bool
pub fn has_tiered_storage(&self) -> bool
Check if tiered storage is enabled
Sourcepub fn tiered_storage_stats(&self) -> Option<TieredStorageStatsSnapshot>
pub fn tiered_storage_stats(&self) -> Option<TieredStorageStatsSnapshot>
Get tiered storage statistics
Sourcepub async fn recover(&self) -> Result<usize>
pub async fn recover(&self) -> Result<usize>
Initialize and recover topics from disk This should be called after construction to restore persisted topics
Sourcepub async fn create_topic(
&self,
name: String,
num_partitions: Option<u32>,
) -> Result<Arc<Topic>>
pub async fn create_topic( &self, name: String, num_partitions: Option<u32>, ) -> Result<Arc<Topic>>
Create a new topic
Sourcepub async fn get_or_create_topic(&self, name: String) -> Result<Arc<Topic>>
pub async fn get_or_create_topic(&self, name: String) -> Result<Arc<Topic>>
Get or create a topic (race-safe: uses write lock directly)
Sourcepub async fn list_topics(&self) -> Vec<String>
pub async fn list_topics(&self) -> Vec<String>
List all topics
Sourcepub async fn delete_topic(&self, name: &str) -> Result<()>
pub async fn delete_topic(&self, name: &str) -> Result<()>
Delete a topic
Trait Implementations§
Source§impl Clone for TopicManager
impl Clone for TopicManager
Source§fn clone(&self) -> TopicManager
fn clone(&self) -> TopicManager
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 moreAuto Trait Implementations§
impl Freeze for TopicManager
impl !RefUnwindSafe for TopicManager
impl Send for TopicManager
impl Sync for TopicManager
impl Unpin for TopicManager
impl !UnwindSafe for TopicManager
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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