Skip to main content

NewTopic

Struct NewTopic 

Source
pub struct NewTopic { /* private fields */ }
Expand description

A new topic to be created via Admin::create_topics.

Corresponds to org.apache.kafka.clients.admin.NewTopic.

replicas_assignments and configs use BTreeMap (rather than HashMap) so that conversion to the wire request is deterministically ordered — Java iterates its Map in unspecified order, but a stable order simplifies wire-byte comparison and testing.

Implementations§

Source§

impl NewTopic

Source

pub fn with_num_partitions_replication_factor( name: impl Into<String>, num_partitions: Option<i32>, replication_factor: Option<i16>, ) -> Self

A new topic with the specified replication factor and number of partitions, either of which optionally defaults to the broker configurations for num.partitions and default.replication.factor respectively.

Translates both of Java’s first two constructors: NewTopic(String, int, short) (NewTopic.java:47) and NewTopic(String, Optional<Integer>, Optional<Short>) (:56). They differ only by the Optional wrapper — :47’s body is literally this(name, Optional.of(numPartitions), Optional.of(replicationFactor)) — so under CLAUDE.md §2 (“in case the difference is only Optional use Rust’s Option and a single method name”) they are one Rust method taking Option. Callers of the former pass Some(..).

The surviving group is {name, num_partitions, replication_factor} and {name, replicas_assignments}, whose intersection is {name}. No constructor takes name alone, so under §2 nobody keeps the plain new and both carry a parameter-name suffix.

Source

pub fn with_replicas_assignments( name: impl Into<String>, replicas_assignments: BTreeMap<i32, Vec<i32>>, ) -> Self

A new topic with the specified replica assignment configuration.

  • name - the topic name
  • replicas_assignments - a map from partition id to replica ids (i.e. broker ids). The first replica is treated as the preferred leader.
Source

pub fn name(&self) -> &str

The name of the topic to be created.

Source

pub fn num_partitions(&self) -> i32

The number of partitions for the new topic or -1 if a replica assignment has been specified.

Source

pub fn replication_factor(&self) -> i16

The replication factor for the new topic or -1 if a replica assignment has been specified.

Source

pub fn replicas_assignments(&self) -> Option<&BTreeMap<i32, Vec<i32>>>

A map from partition id to replica ids (i.e. broker ids) or None if the number of partitions and replication factor have been specified instead.

Source

pub fn set_configs(self, configs: BTreeMap<String, String>) -> Self

Set the configuration to use on the new topic. Returns self for chaining, mirroring Java’s fluent configs(...).

Source

pub fn configs(&self) -> Option<&BTreeMap<String, String>>

The configuration for the new topic or None if no configs were ever specified.

Trait Implementations§

Source§

impl Clone for NewTopic

Source§

fn clone(&self) -> NewTopic

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for NewTopic

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Display for NewTopic

Source§

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

Formats the value using the given formatter. Read more
Source§

impl PartialEq for NewTopic

Source§

fn eq(&self, other: &NewTopic) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for NewTopic

Source§

impl StructuralPartialEq for NewTopic

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

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

Source§

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 T
where U: TryFrom<T>,

Source§

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 T
where V: MultiLane<T>,

§

fn vzip(self) -> V