DanubeClient

Struct DanubeClient 

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

The main client for interacting with the Danube messaging system.

The DanubeClient struct is designed to facilitate communication with the Danube messaging system. It provides various methods for managing producers and consumers, performing topic lookups, and retrieving schema information. This client acts as the central interface for interacting with the messaging system and managing connections and services.

Implementations§

Source§

impl DanubeClient

Source

pub fn builder() -> DanubeClientBuilder

Initializes a new DanubeClientBuilder instance.

The builder pattern allows for configuring and constructing a DanubeClient instance with optional settings and options. Using the builder, you can customize various aspects of the DanubeClient, such as connection settings, timeouts, and other configurations before creating the final DanubeClient instance.

Source

pub fn new_producer(&self) -> ProducerBuilder

Returns a new ProducerBuilder for configuring and creating a Producer instance.

This method initializes a ProducerBuilder, which is used to set up various options and settings for a Producer. The builder pattern allows you to specify details such as the topic, producer name, partitions, schema, and other configurations before creating the final Producer instance.

Source

pub fn new_consumer(&self) -> ConsumerBuilder

Returns a new ConsumerBuilder for configuring and creating a Consumer instance.

This method initializes a ConsumerBuilder, which is used to set up various options and settings for a Consumer. The builder pattern allows you to specify details such as the topic, consumer name, subscription, subscription type, and other configurations before creating the final Consumer instance.

Source

pub fn auth_service(&self) -> &AuthService

Returns a reference to the AuthService.

This method provides access to the AuthService instance used by the DanubeClient.

Source

pub async fn lookup_topic( &self, addr: &Uri, topic: impl Into<String>, ) -> Result<LookupResult>

Retrieves the address of the broker responsible for a specified topic.

This asynchronous method performs a lookup to find the broker that is responsible for the given topic. The addr parameter specifies the address of the broker to connect to for performing the lookup. The method returns information about the broker handling the topic.

§Parameters
  • addr: The address of the broker to connect to for the lookup. This is provided as a &Uri, which specifies where the request should be sent.
  • topic: The name of the topic for which to look up the broker.
§Returns
  • Ok(LookupResult): Contains the result of the lookup operation, including the broker address.
  • Err(e): An error if the lookup fails or if there are issues during the operation. This could include connectivity problems, invalid topic names, or other errors related to the lookup process.
Source

pub async fn get_schema(&self, topic: impl Into<String>) -> Result<Schema>

Retrieves the schema associated with a specified topic from the schema service.

This asynchronous method fetches the schema for the given topic from the schema service. The schema describes the structure and format of the messages for the specified topic. The method returns the schema details or an error if the retrieval fails.

§Parameters
  • topic: The name of the topic for which the schema is to be retrieved.
§Returns
  • Ok(Schema): The schema associated with the specified topic. This includes information about the schema type and its definition, if available.
  • Err(e): An error if the schema retrieval fails or if there are issues during the operation. This could include errors such as non-existent topics, connectivity issues, or internal service errors.

Trait Implementations§

Source§

impl Clone for DanubeClient

Source§

fn clone(&self) -> DanubeClient

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 DanubeClient

Source§

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

Formats the value using the given formatter. Read more

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
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
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, 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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more