pub struct Query {
pub key_prefix: String,
pub predicate: String,
pub value: String,
pub json: Option<Value>,
}Fields§
§key_prefix: String§predicate: String§value: String§json: Option<Value>Implementations§
Source§impl Query
impl Query
Sourcepub fn all(prefix: &[u8]) -> Self
pub fn all(prefix: &[u8]) -> Self
Examples found in repository?
examples/local_bench.rs (line 15)
5fn main() -> Result<(), Box<dyn std::error::Error>> {
6 let args: Vec<_> = std::env::args().skip(1).collect();
7 assert_eq!(
8 args.len(),
9 3,
10 "ADDRESS PREFIX COUNT on a disposable console"
11 );
12 let client = Client::new(args[0].parse()?)?;
13 let count = args[2].parse::<usize>()?;
14 assert!((1..=128).contains(&count));
15 let query = Query::all(args[1].as_bytes());
16 let session = client.subscribe(&query)?;
17 assert!(session.rows.is_empty());
18 let started = Instant::now();
19 for i in 0..count {
20 let key = format!("{}{i:04}", args[1]);
21 let read = client.read_revision(key.as_bytes())?;
22 assert!(read.value.is_none());
23 let value = json!({"client":"rust","n":i}).to_string();
24 let receipt = client.write_revision(&read.revision, Some(value.as_bytes()))?;
25 assert!(receipt.durable);
26 }
27 let write_us = started.elapsed().as_micros();
28 let started = Instant::now();
29 let page = client.page(&query, None, 128)?;
30 assert_eq!(page.rows.len(), count);
31 let page_us = started.elapsed().as_micros();
32 let started = Instant::now();
33 let delta = client.poll(&session, &session.token)?;
34 assert_eq!(delta.commits.len(), count);
35 let poll_us = started.elapsed().as_micros();
36 client.unsubscribe(&session, &delta.token)?;
37 println!(
38 "{}",
39 json!({"client":"rust","records":count,"revision_read_write_us":write_us,"page_us":page_us,"poll_us":poll_us,"correctness_verified":true})
40 );
41 Ok(())
42}pub fn json(prefix: &[u8], predicate: Value) -> Self
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Query
impl<'de> Deserialize<'de> for Query
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Query
impl RefUnwindSafe for Query
impl Send for Query
impl Sync for Query
impl Unpin for Query
impl UnsafeUnpin for Query
impl UnwindSafe for Query
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