pub struct Client { /* private fields */ }Expand description
Authenticated remote provider.
Implementations§
Source§impl Client
impl Client
Sourcepub async fn connect(
endpoint: impl AsRef<str>,
bearer_token: impl AsRef<str>,
) -> Result<Self, ConnectError>
pub async fn connect( endpoint: impl AsRef<str>, bearer_token: impl AsRef<str>, ) -> Result<Self, ConnectError>
Connects to a TLS endpoint with an account-bound bearer credential.
Sourcepub async fn connect_endpoints<I, S>(
endpoints: I,
bearer_token: impl AsRef<str>,
) -> Result<Self, ConnectError>
pub async fn connect_endpoints<I, S>( endpoints: I, bearer_token: impl AsRef<str>, ) -> Result<Self, ConnectError>
Connects to independently reachable TLS endpoints with transparent failover.
Sourcepub async fn connect_with_ca_certificate(
endpoint: impl AsRef<str>,
bearer_token: impl AsRef<str>,
certificate_pem: impl AsRef<[u8]>,
) -> Result<Self, ConnectError>
pub async fn connect_with_ca_certificate( endpoint: impl AsRef<str>, bearer_token: impl AsRef<str>, certificate_pem: impl AsRef<[u8]>, ) -> Result<Self, ConnectError>
Connects to a TLS endpoint augmented by one caller-pinned private CA certificate.
Sourcepub async fn connect_endpoints_with_ca_certificate<I, S>(
endpoints: I,
bearer_token: impl AsRef<str>,
certificate_pem: impl AsRef<[u8]>,
) -> Result<Self, ConnectError>
pub async fn connect_endpoints_with_ca_certificate<I, S>( endpoints: I, bearer_token: impl AsRef<str>, certificate_pem: impl AsRef<[u8]>, ) -> Result<Self, ConnectError>
Connects to independently reachable endpoints using one caller-pinned private CA.
Trait Implementations§
Source§impl StreamProvider for Client
impl StreamProvider for Client
Source§fn inspect_idempotency<'life0, 'async_trait>(
&'life0 self,
idempotency_key: IdempotencyKey,
) -> Pin<Box<dyn Future<Output = Result<Option<IdempotencyObservation>, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn inspect_idempotency<'life0, 'async_trait>(
&'life0 self,
idempotency_key: IdempotencyKey,
) -> Pin<Box<dyn Future<Output = Result<Option<IdempotencyObservation>, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Reads the retained terminal result for one caller-owned retry identity.
Source§fn tail<'life0, 'async_trait>(
&'life0 self,
path: StreamPath,
) -> Pin<Box<dyn Future<Output = Result<u64, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn tail<'life0, 'async_trait>(
&'life0 self,
path: StreamPath,
) -> Pin<Box<dyn Future<Output = Result<u64, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Current next sequence.
Source§fn append<'life0, 'async_trait>(
&'life0 self,
request: AppendRequest,
) -> Pin<Box<dyn Future<Output = Result<AppendOutcome, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn append<'life0, 'async_trait>(
&'life0 self,
request: AppendRequest,
) -> Pin<Box<dyn Future<Output = Result<AppendOutcome, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Atomic append or tail conflict.
Source§fn fork<'life0, 'async_trait>(
&'life0 self,
request: ForkRequest,
) -> Pin<Box<dyn Future<Output = Result<ForkReceipt, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fork<'life0, 'async_trait>(
&'life0 self,
request: ForkRequest,
) -> Pin<Box<dyn Future<Output = Result<ForkReceipt, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Atomic immutable-prefix fork.
Source§fn trim<'life0, 'async_trait>(
&'life0 self,
path: StreamPath,
before: u64,
idempotency_key: IdempotencyKey,
) -> Pin<Box<dyn Future<Output = Result<TrimReceipt, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn trim<'life0, 'async_trait>(
&'life0 self,
path: StreamPath,
before: u64,
idempotency_key: IdempotencyKey,
) -> Pin<Box<dyn Future<Output = Result<TrimReceipt, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Monotonically advances a path’s logical trim point.
Source§fn delete<'life0, 'async_trait>(
&'life0 self,
path: StreamPath,
idempotency_key: IdempotencyKey,
) -> Pin<Box<dyn Future<Output = Result<DeleteReceipt, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete<'life0, 'async_trait>(
&'life0 self,
path: StreamPath,
idempotency_key: IdempotencyKey,
) -> Pin<Box<dyn Future<Output = Result<DeleteReceipt, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Permanently retires a path with no live descendants.
Source§fn read<'life0, 'async_trait>(
&'life0 self,
request: ReadRequest,
) -> Pin<Box<dyn Future<Output = Result<RecordStream, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn read<'life0, 'async_trait>(
&'life0 self,
request: ReadRequest,
) -> Pin<Box<dyn Future<Output = Result<RecordStream, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Opens a bounded finite read.
Source§fn follow<'life0, 'async_trait>(
&'life0 self,
path: StreamPath,
from: u64,
) -> Pin<Box<dyn Future<Output = Result<RecordStream, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn follow<'life0, 'async_trait>(
&'life0 self,
path: StreamPath,
from: u64,
) -> Pin<Box<dyn Future<Output = Result<RecordStream, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Replays and then remains live without a handoff gap.
Source§fn children<'life0, 'async_trait>(
&'life0 self,
request: ChildrenRequest,
) -> Pin<Box<dyn Future<Output = Result<ChildStream, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn children<'life0, 'async_trait>(
&'life0 self,
request: ChildrenRequest,
) -> Pin<Box<dyn Future<Output = Result<ChildStream, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Lists one fixed-snapshot direct-child page.
Source§fn commit<'life0, 'async_trait>(
&'life0 self,
request: CommitRequest,
) -> Pin<Box<dyn Future<Output = Result<CommitOutcome, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn commit<'life0, 'async_trait>(
&'life0 self,
request: CommitRequest,
) -> Pin<Box<dyn Future<Output = Result<CommitOutcome, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Executes one all-or-nothing optimistic commit.
Source§fn commit_before<'life0, 'async_trait>(
&'life0 self,
request: CommitRequest,
deadline_unix_millis: u64,
) -> Pin<Box<dyn Future<Output = Result<CommitOutcome, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn commit_before<'life0, 'async_trait>(
&'life0 self,
request: CommitRequest,
deadline_unix_millis: u64,
) -> Pin<Box<dyn Future<Output = Result<CommitOutcome, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Executes one coordinated commit only if the provider’s trusted clock is
strictly before
deadline_unix_millis at the linearization point. Read moreSource§fn read_commit<'life0, 'async_trait>(
&'life0 self,
commit_id: CommitId,
) -> Pin<Box<dyn Future<Output = Result<CommittedEnvelope, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn read_commit<'life0, 'async_trait>(
&'life0 self,
commit_id: CommitId,
) -> Pin<Box<dyn Future<Output = Result<CommittedEnvelope, StreamError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Reads one complete immutable successful envelope.
Auto Trait Implementations§
impl !Freeze for Client
impl !RefUnwindSafe for Client
impl !UnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl UnsafeUnpin for Client
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> 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> 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