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§
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
Sourcefn recreate<T>(
&self,
object_id: ObjectId,
new_created_at: EventId,
creation_value: Arc<T>,
updatedness: Option<Updatedness>,
additional_importance: Importance,
) -> impl Futurewhere
T: Object,
fn recreate<T>(
&self,
object_id: ObjectId,
new_created_at: EventId,
creation_value: Arc<T>,
updatedness: Option<Updatedness>,
additional_importance: Importance,
) -> impl Futurewhere
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)
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 Futurewhere
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
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.