Struct fluvio::Fluvio [−][src]
pub struct Fluvio { /* fields omitted */ }
Expand description
An interface for interacting with Fluvio streaming
Implementations
impl Fluvio
[src]
impl Fluvio
[src]pub async fn connect() -> Result<Self, FluvioError>
[src]
pub async fn connect() -> Result<Self, FluvioError>
[src]Creates a new Fluvio client using the current profile from ~/.fluvio/config
If there is no current profile or the ~/.fluvio/config
file does not exist,
then this will create a new profile with default settings and set it as
current, then try to connect to the cluster using those settings.
Example
let fluvio = Fluvio::connect().await?;
pub async fn connect_with_config(
config: &FluvioConfig
) -> Result<Self, FluvioError>
[src]
pub async fn connect_with_config(
config: &FluvioConfig
) -> Result<Self, FluvioError>
[src]Creates a new Fluvio client with the given configuration
Example
use fluvio::config::ConfigFile; let config_file = ConfigFile::load_default_or_new()?; let config = config_file.config().current_cluster().unwrap(); let fluvio = Fluvio::connect_with_config(&config).await?;
pub async fn topic_producer<S: Into<String>>(
&self,
topic: S
) -> Result<TopicProducer, FluvioError>
[src]
pub async fn topic_producer<S: Into<String>>(
&self,
topic: S
) -> Result<TopicProducer, FluvioError>
[src]Creates a new TopicProducer
for the given topic name
Currently, producers are scoped to a specific Fluvio topic. That means when you send events via a producer, you must specify which partition each event should go to.
Example
let producer = fluvio.topic_producer("my-topic").await?; producer.send(RecordKey::NULL, "Hello, Fluvio!").await?;
pub async fn partition_consumer<S: Into<String>>(
&self,
topic: S,
partition: i32
) -> Result<PartitionConsumer, FluvioError>
[src]
pub async fn partition_consumer<S: Into<String>>(
&self,
topic: S,
partition: i32
) -> Result<PartitionConsumer, FluvioError>
[src]Creates a new PartitionConsumer
for the given topic and partition
Currently, consumers are scoped to both a specific Fluvio topic and to a particular partition within that topic. That means that if you have a topic with multiple partitions, then in order to receive all of the events in all of the partitions, you will need to create one consumer per partition.
Example
let consumer_one = fluvio.partition_consumer("my-topic", 0).await?; let consumer_two = fluvio.partition_consumer("my-topic", 1).await?; let records_one = consumer_one.fetch(Offset::beginning()).await?; let records_two = consumer_two.fetch(Offset::beginning()).await?;
pub async fn admin(&self) -> FluvioAdmin
[src]
pub async fn admin(&self) -> FluvioAdmin
[src]pub fn platform_version(&self) -> &Version
[src]
pub fn platform_version(&self) -> &Version
[src]Reports the Platform Version of the connected cluster.
The “Platform Version” is the value of the VERSION file when
the cluster components were compiled, and is a semver
value.
Auto Trait Implementations
impl !RefUnwindSafe for Fluvio
impl Send for Fluvio
impl Sync for Fluvio
impl Unpin for Fluvio
impl !UnwindSafe for Fluvio
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]impl<T> AsyncConnector for T where
T: Send + Sync,
[src]
T: Send + Sync,