ClientSideDb

Trait ClientSideDb 

Source
pub trait ClientSideDb:
    'static
    + Send
    + Sync
    + Db {
Show 22 methods // Required methods fn storage_info(&self) -> impl Future; fn save_login(&self, _info: LoginInfo) -> impl Future; fn get_saved_login(&self) -> impl Future; fn get_json( &self, object_id: ObjectId, importance: Importance, ) -> impl Future; fn remove_everything(&self) -> impl Future; fn recreate<T>( &self, object_id: ObjectId, new_created_at: EventId, creation_value: Arc<T>, updatedness: Option<Updatedness>, additional_importance: Importance, ) -> impl Future where T: Object; fn client_query(&self, type_id: TypeId, query: Arc<Query>) -> impl Future; fn remove(&self, object_id: ObjectId) -> impl Future; fn remove_event<T>( &self, object_id: ObjectId, event_id: EventId, ) -> impl Future where T: Object; fn set_object_importance( &self, object_id: ObjectId, new_importance: Importance, ) -> impl Future; fn set_importance_from_queries( &self, object_id: ObjectId, new_importance_from_queries: Importance, ) -> impl Future; fn client_vacuum( &self, notify_removals: impl CrdbSyncFn<ObjectId> + 'static, notify_query_removals: impl CrdbSyncFn<QueryId> + 'static, ) -> impl Future; fn list_uploads(&self) -> impl Future; fn get_upload(&self, upload_id: UploadId) -> impl Future; fn enqueue_upload( &self, upload: Upload, required_binaries: Vec<BinPtr>, ) -> impl Future; fn upload_finished(&self, upload_id: UploadId) -> impl Future; fn get_saved_objects(&self) -> impl Future; fn get_saved_queries(&self) -> impl Future; fn record_query( &self, query_id: QueryId, query: Arc<Query>, type_id: TypeId, importance: Importance, ) -> impl Future; fn set_query_importance( &self, query_id: QueryId, importance: Importance, objects_matching_query: Vec<ObjectId>, ) -> impl Future; fn forget_query( &self, query_id: QueryId, objects_matching_query: Vec<ObjectId>, ) -> impl Future; fn update_queries( &self, queries: &HashSet<QueryId>, now_have_all_until: Updatedness, ) -> impl Future;
}

Required Methods§

Source

fn storage_info(&self) -> impl Future

Source

fn save_login(&self, _info: LoginInfo) -> impl Future

Source

fn get_saved_login(&self) -> impl Future

Source

fn get_json(&self, object_id: ObjectId, importance: Importance) -> impl Future

Source

fn remove_everything(&self) -> impl Future

Source

fn recreate<T>( &self, object_id: ObjectId, new_created_at: EventId, creation_value: Arc<T>, updatedness: Option<Updatedness>, additional_importance: Importance, ) -> impl Future
where T: Object,

Either create an object if it did not exist yet, or recreate it

Returns the new latest snapshot if it actually changed.

updatedness is the up-to-date-ness of this recreation, or None if it is not known yet (eg. it was initiated client-side and has not round-tripped to server yet)

Source

fn client_query(&self, type_id: TypeId, query: Arc<Query>) -> impl Future

Source

fn remove(&self, object_id: ObjectId) -> impl Future

Source

fn remove_event<T>(&self, object_id: ObjectId, event_id: EventId) -> impl Future
where T: Object,

Source

fn set_object_importance( &self, object_id: ObjectId, new_importance: Importance, ) -> impl Future

Source

fn set_importance_from_queries( &self, object_id: ObjectId, new_importance_from_queries: Importance, ) -> impl Future

Source

fn client_vacuum( &self, notify_removals: impl CrdbSyncFn<ObjectId> + 'static, notify_query_removals: impl CrdbSyncFn<QueryId> + 'static, ) -> impl Future

Source

fn list_uploads(&self) -> impl Future

Source

fn get_upload(&self, upload_id: UploadId) -> impl Future

Source

fn enqueue_upload( &self, upload: Upload, required_binaries: Vec<BinPtr>, ) -> impl Future

Source

fn upload_finished(&self, upload_id: UploadId) -> impl Future

Source

fn get_saved_objects(&self) -> impl Future

Source

fn get_saved_queries(&self) -> impl Future

Source

fn record_query( &self, query_id: QueryId, query: Arc<Query>, type_id: TypeId, importance: Importance, ) -> impl Future

Source

fn set_query_importance( &self, query_id: QueryId, importance: Importance, objects_matching_query: Vec<ObjectId>, ) -> impl Future

Source

fn forget_query( &self, query_id: QueryId, objects_matching_query: Vec<ObjectId>, ) -> impl Future

Source

fn update_queries( &self, queries: &HashSet<QueryId>, now_have_all_until: Updatedness, ) -> impl Future

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§