pub struct LanceClient { /* private fields */ }Implementations§
Source§impl LanceClient
impl LanceClient
Sourcepub async fn connect(config: ClientConfig) -> Result<Self, ClientError>
pub async fn connect(config: ClientConfig) -> Result<Self, ClientError>
Connect to LANCE server, automatically using TLS if configured
Sourcepub async fn connect_tls(
config: ClientConfig,
tls_config: TlsClientConfig,
) -> Result<Self, ClientError>
pub async fn connect_tls( config: ClientConfig, tls_config: TlsClientConfig, ) -> Result<Self, ClientError>
Connect to LANCE server with TLS encryption
§Arguments
config- Client configuration with server addresstls_config- TLS configuration including certificates
§Example
ⓘ
use lnc_client::{ClientConfig, TlsClientConfig, LanceClient};
let config = ClientConfig::new("127.0.0.1:1992".parse().unwrap());
let tls = TlsClientConfig::new()
.with_ca_cert("/path/to/ca.pem");
let client = LanceClient::connect_tls(config, tls).await?;pub async fn connect_to(addr: &str) -> Result<Self, ClientError>
Sourcepub async fn connect_tls_to(
addr: &str,
tls_config: TlsClientConfig,
) -> Result<Self, ClientError>
pub async fn connect_tls_to( addr: &str, tls_config: TlsClientConfig, ) -> Result<Self, ClientError>
Connect to LANCE server with TLS using address string
pub async fn send_ingest( &mut self, payload: Bytes, record_count: u32, ) -> Result<u64, ClientError>
pub async fn send_ingest_to_topic( &mut self, topic_id: u32, payload: Bytes, record_count: u32, _auth_config: Option<&AuthConfig>, ) -> Result<u64, ClientError>
pub async fn send_ingest_sync( &mut self, payload: Bytes, record_count: u32, ) -> Result<u64, ClientError>
pub async fn send_ingest_to_topic_sync( &mut self, topic_id: u32, payload: Bytes, record_count: u32, auth_config: Option<&AuthConfig>, ) -> Result<u64, ClientError>
pub async fn recv_ack(&mut self) -> Result<u64, ClientError>
pub async fn send_keepalive(&mut self) -> Result<(), ClientError>
pub async fn recv_keepalive(&mut self) -> Result<(), ClientError>
pub async fn ping(&mut self) -> Result<Duration, ClientError>
pub async fn create_topic( &mut self, name: &str, ) -> Result<TopicInfo, ClientError>
pub async fn list_topics(&mut self) -> Result<Vec<TopicInfo>, ClientError>
pub async fn get_topic( &mut self, topic_id: u32, ) -> Result<TopicInfo, ClientError>
pub async fn delete_topic(&mut self, topic_id: u32) -> Result<(), ClientError>
Sourcepub async fn set_retention(
&mut self,
topic_id: u32,
max_age_secs: u64,
max_bytes: u64,
) -> Result<(), ClientError>
pub async fn set_retention( &mut self, topic_id: u32, max_age_secs: u64, max_bytes: u64, ) -> Result<(), ClientError>
Set retention policy for an existing topic
§Arguments
topic_id- Topic identifiermax_age_secs- Maximum age in seconds (0 = no limit)max_bytes- Maximum size in bytes (0 = no limit)
Sourcepub async fn create_topic_with_retention(
&mut self,
name: &str,
max_age_secs: u64,
max_bytes: u64,
) -> Result<TopicInfo, ClientError>
pub async fn create_topic_with_retention( &mut self, name: &str, max_age_secs: u64, max_bytes: u64, ) -> Result<TopicInfo, ClientError>
Create a topic with retention policy in a single operation
§Arguments
name- Topic namemax_age_secs- Maximum age in seconds (0 = no limit)max_bytes- Maximum size in bytes (0 = no limit)
Sourcepub async fn get_cluster_status(&mut self) -> Result<ClusterStatus, ClientError>
pub async fn get_cluster_status(&mut self) -> Result<ClusterStatus, ClientError>
Get cluster status and health information
Sourcepub async fn fetch(
&mut self,
topic_id: u32,
start_offset: u64,
max_bytes: u32,
) -> Result<FetchResult, ClientError>
pub async fn fetch( &mut self, topic_id: u32, start_offset: u64, max_bytes: u32, ) -> Result<FetchResult, ClientError>
Fetch data from a topic starting at the given offset Returns (data, next_offset, record_count)
Sourcepub async fn subscribe(
&mut self,
topic_id: u32,
start_offset: u64,
max_batch_bytes: u32,
consumer_id: u64,
) -> Result<SubscribeResult, ClientError>
pub async fn subscribe( &mut self, topic_id: u32, start_offset: u64, max_batch_bytes: u32, consumer_id: u64, ) -> Result<SubscribeResult, ClientError>
Subscribe to a topic for streaming data Returns the consumer ID and starting offset
Sourcepub async fn unsubscribe(
&mut self,
topic_id: u32,
consumer_id: u64,
) -> Result<(), ClientError>
pub async fn unsubscribe( &mut self, topic_id: u32, consumer_id: u64, ) -> Result<(), ClientError>
Unsubscribe from a topic
Sourcepub async fn commit_offset(
&mut self,
topic_id: u32,
consumer_id: u64,
offset: u64,
) -> Result<CommitResult, ClientError>
pub async fn commit_offset( &mut self, topic_id: u32, consumer_id: u64, offset: u64, ) -> Result<CommitResult, ClientError>
Commit consumer offset for checkpointing
pub fn config(&self) -> &ClientConfig
pub async fn close(self) -> Result<(), ClientError>
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for LanceClient
impl !RefUnwindSafe for LanceClient
impl Send for LanceClient
impl Sync for LanceClient
impl Unpin for LanceClient
impl UnsafeUnpin for LanceClient
impl !UnwindSafe for LanceClient
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> 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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request