pub struct CorrosionApiClient { /* private fields */ }Expand description
Single-address Corrosion HTTP API client.
Implementations§
Source§impl CorrosionApiClient
impl CorrosionApiClient
pub fn new(api_addr: SocketAddr) -> Result<Self, Error>
Sourcepub async fn query_typed<T: DeserializeOwned + Unpin>(
&self,
statement: &Statement,
timeout: Option<u64>,
) -> Result<QueryStream<T>, Error>
pub async fn query_typed<T: DeserializeOwned + Unpin>( &self, statement: &Statement, timeout: Option<u64>, ) -> Result<QueryStream<T>, Error>
Execute a single query against a Corrosion node, deserializing each row into T.
Optionally accepts a timeout for the request.
Calls the /v1/queries endpoint (https://superfly.github.io/corrosion/api/queries.html).
Sourcepub async fn query(
&self,
statement: &Statement,
timeout: Option<u64>,
) -> Result<QueryStream<Vec<SqliteValue>>, Error>
pub async fn query( &self, statement: &Statement, timeout: Option<u64>, ) -> Result<QueryStream<Vec<SqliteValue>>, Error>
Same as Self::query_typed, but returns each row as a
Vec<SqliteValue>.
Sourcepub async fn subscribe_typed<T: DeserializeOwned + Unpin>(
&self,
statement: &Statement,
skip_rows: bool,
from: Option<ChangeId>,
) -> Result<SubscriptionStream<T>, Error>
pub async fn subscribe_typed<T: DeserializeOwned + Unpin>( &self, statement: &Statement, skip_rows: bool, from: Option<ChangeId>, ) -> Result<SubscriptionStream<T>, Error>
Create a new subscription and stream query updates, deserializing rows into T.
skip_rows— whentrue, the initial rows are skipped and only changes are streamed.from— when set, resume the subscription past the givenChangeIdinstead of producing a fresh snapshot.
Calls the /v1/subscriptions endpoint (https://superfly.github.io/corrosion/api/subscriptions.html).
Sourcepub async fn subscribe(
&self,
statement: &Statement,
skip_rows: bool,
from: Option<ChangeId>,
) -> Result<SubscriptionStream<Vec<SqliteValue>>, Error>
pub async fn subscribe( &self, statement: &Statement, skip_rows: bool, from: Option<ChangeId>, ) -> Result<SubscriptionStream<Vec<SqliteValue>>, Error>
Same as Self::subscribe_typed, but returns each row as a
Vec<SqliteValue>.
Sourcepub async fn subscription_typed<T: DeserializeOwned + Unpin>(
&self,
id: Uuid,
skip_rows: bool,
from: Option<ChangeId>,
) -> Result<SubscriptionStream<T>, Error>
pub async fn subscription_typed<T: DeserializeOwned + Unpin>( &self, id: Uuid, skip_rows: bool, from: Option<ChangeId>, ) -> Result<SubscriptionStream<T>, Error>
Reconnect to an existing subscription identified by its Uuid.
Sourcepub async fn subscription(
&self,
id: Uuid,
skip_rows: bool,
from: Option<ChangeId>,
) -> Result<SubscriptionStream<Vec<SqliteValue>>, Error>
pub async fn subscription( &self, id: Uuid, skip_rows: bool, from: Option<ChangeId>, ) -> Result<SubscriptionStream<Vec<SqliteValue>>, Error>
Same as Self::subscription_typed, but returns each row as a
Vec<SqliteValue>.
Sourcepub async fn updates_typed<T: DeserializeOwned + Unpin>(
&self,
table: &str,
) -> Result<UpdatesStream<T>, Error>
pub async fn updates_typed<T: DeserializeOwned + Unpin>( &self, table: &str, ) -> Result<UpdatesStream<T>, Error>
Subscribe to row-level changes on a single table.
Calls the /v1/updates/{table} endpoint (https://superfly.github.io/corrosion/api/updates.html).
Sourcepub async fn updates(
&self,
table: &str,
) -> Result<UpdatesStream<Vec<SqliteValue>>, Error>
pub async fn updates( &self, table: &str, ) -> Result<UpdatesStream<Vec<SqliteValue>>, Error>
Same as Self::updates_typed, but returns each row as a
Vec<SqliteValue>.
Sourcepub async fn execute(
&self,
statements: &[Statement],
timeout: Option<u64>,
) -> Result<ExecResponse, Error>
pub async fn execute( &self, statements: &[Statement], timeout: Option<u64>, ) -> Result<ExecResponse, Error>
Execute one or more SQL statements in a single transaction.
Calls the /v1/transactions endpoint (https://superfly.github.io/corrosion/api/transactions.html).
Trait Implementations§
Source§impl Clone for CorrosionApiClient
impl Clone for CorrosionApiClient
Source§fn clone(&self) -> CorrosionApiClient
fn clone(&self) -> CorrosionApiClient
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for CorrosionApiClient
impl !RefUnwindSafe for CorrosionApiClient
impl Send for CorrosionApiClient
impl Sync for CorrosionApiClient
impl Unpin for CorrosionApiClient
impl UnsafeUnpin for CorrosionApiClient
impl !UnwindSafe for CorrosionApiClient
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
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more