Crate perspective_client
source ·Re-exports§
pub use crate::proto::table_validate_expr_resp::ExprValidationError;pub use crate::proto::ColumnType;pub use crate::utils::*;
Modules§
- A collection of (de-)serializable structs which capture the application state, suitable for persistence, history, etc. features.
Macros§
- Assert that an implementation of domain language wrapper for
Tableimplements the expected API. As domain languages have different API needs, a trait isn’t useful for asserting that the entire API is implemented, because the signatures will not match exactly (unless every method is made heavily generic). Instead, this macro complains when a method name is missing. - A helper to for the pattern
let x2 = x;necessary to clone structs destined for anasyncor'staticclosure stack. This is likemove || { .. }ormove async { .. }, but for clone semantics.clone!()works with symbols as well as properties and methods, using the last symbol name in the method chain, or an alias viax = ...syntax.
Structs§
- An instance of a
Clientis a unique connection to a singleServer, whether locally in-memory or remote over some transport like aWebSocket. To create, use the appropriate constructor function: - Options which impact the behavior of
Client::table, as well as subsequent calls toTable::update, even though this latter method itself does not takeTableInitOptionsas an argument, since this parameter is fixed at creation.
Enums§
- The possible formats of input data which [
Client::table] may take as an argument. - The possible formats of input data which [
Table::update] may take as an argument.
Traits§
- The server-side representation of a connection to a [
perspective_client::Client]. For each [perspective_client::Client] that wants to connect to a [Server], a dedicatedSessionmust be created. TheSessionhandles routing messages emitted by the [Server], as well as owning any resources theClientmay request.
Type Aliases§
- Metadata about what features are supported by the
ServerthisClientis connected to.