pub struct BridgeRoot<'a> { /* private fields */ }Implementations§
Source§impl<'a> BridgeRoot<'a>
impl<'a> BridgeRoot<'a>
pub fn new(session: &'a mut Session) -> Result<Self>
pub fn named(session: &'a mut Session, name: impl Into<String>) -> Result<Self>
Sourcepub fn name(&self) -> &str
pub fn name(&self) -> &str
Examples found in repository?
examples/bridge_root_mapping.rs (line 56)
39fn main() -> gemstone_rs::Result<()> {
40 let mut session = Session::login(Config::from_env()?)?;
41
42 let payload = BookingDraft {
43 name: "Tariq".to_string(),
44 amount: 100,
45 currency: "GBP".to_string(),
46 };
47
48 let mut bridge_root = session.bridge_root()?;
49 let payload_oop = bridge_root.put_mapped("MyTestDict", &payload)?;
50 let stored = bridge_root.get_oop("MyTestDict")?;
51 assert_eq!(payload_oop, stored);
52
53 let loaded: BookingDraft = bridge_root.get_mapped("MyTestDict")?;
54 assert_eq!(loaded, payload);
55
56 println!("bridge root: {}", bridge_root.name());
57 println!("bridge root OOP: {}", bridge_root.oop().raw());
58 println!("MyTestDict OOP: {}", stored.raw());
59 println!("loaded payload: {loaded:?}");
60
61 bridge_root.commit()?;
62 Ok(())
63}Sourcepub fn oop(&self) -> Oop
pub fn oop(&self) -> Oop
Examples found in repository?
examples/bridge_root_mapping.rs (line 57)
39fn main() -> gemstone_rs::Result<()> {
40 let mut session = Session::login(Config::from_env()?)?;
41
42 let payload = BookingDraft {
43 name: "Tariq".to_string(),
44 amount: 100,
45 currency: "GBP".to_string(),
46 };
47
48 let mut bridge_root = session.bridge_root()?;
49 let payload_oop = bridge_root.put_mapped("MyTestDict", &payload)?;
50 let stored = bridge_root.get_oop("MyTestDict")?;
51 assert_eq!(payload_oop, stored);
52
53 let loaded: BookingDraft = bridge_root.get_mapped("MyTestDict")?;
54 assert_eq!(loaded, payload);
55
56 println!("bridge root: {}", bridge_root.name());
57 println!("bridge root OOP: {}", bridge_root.oop().raw());
58 println!("MyTestDict OOP: {}", stored.raw());
59 println!("loaded payload: {loaded:?}");
60
61 bridge_root.commit()?;
62 Ok(())
63}Sourcepub fn identity_id(&self) -> usize
pub fn identity_id(&self) -> usize
Examples found in repository?
examples/derive_mapping.rs (line 48)
24fn main() -> gemstone_rs::Result<()> {
25 let mut session = Session::login(Config::from_env()?)?;
26 let mut bridge_root = session.bridge_root()?;
27
28 let draft = BookingDraft {
29 amount: 100,
30 customer: CustomerDraft {
31 name: "Tariq".to_string(),
32 },
33 tags: vec!["priority".to_string(), "demo".to_string()],
34 };
35
36 bridge_root.transaction(|root| {
37 root.put_mapped("DerivedBookingDraft", &draft)?;
38 let loaded: BookingDraft = root.get_mapped("DerivedBookingDraft")?;
39 assert_eq!(loaded, draft);
40 root.put_with_key_type(
41 "DerivedBookingDraftSymbolKey",
42 BridgeKeyType::Symbol,
43 "symbol-key-ok",
44 )?;
45 root.remove("DerivedBookingDraft")?;
46 root.remove_with_key_type("DerivedBookingDraftSymbolKey", BridgeKeyType::Symbol)?;
47 println!("derived mapped payload: {loaded:?}");
48 println!("bridge root identity: {}", root.identity_id());
49 Ok(())
50 })?;
51
52 Ok(())
53}pub fn put(&mut self, key: &str, value: impl Into<BridgeValue>) -> Result<Oop>
Sourcepub fn put_with_key_type(
&mut self,
key: &str,
key_type: BridgeKeyType,
value: impl Into<BridgeValue>,
) -> Result<Oop>
pub fn put_with_key_type( &mut self, key: &str, key_type: BridgeKeyType, value: impl Into<BridgeValue>, ) -> Result<Oop>
Examples found in repository?
examples/derive_mapping.rs (lines 40-44)
24fn main() -> gemstone_rs::Result<()> {
25 let mut session = Session::login(Config::from_env()?)?;
26 let mut bridge_root = session.bridge_root()?;
27
28 let draft = BookingDraft {
29 amount: 100,
30 customer: CustomerDraft {
31 name: "Tariq".to_string(),
32 },
33 tags: vec!["priority".to_string(), "demo".to_string()],
34 };
35
36 bridge_root.transaction(|root| {
37 root.put_mapped("DerivedBookingDraft", &draft)?;
38 let loaded: BookingDraft = root.get_mapped("DerivedBookingDraft")?;
39 assert_eq!(loaded, draft);
40 root.put_with_key_type(
41 "DerivedBookingDraftSymbolKey",
42 BridgeKeyType::Symbol,
43 "symbol-key-ok",
44 )?;
45 root.remove("DerivedBookingDraft")?;
46 root.remove_with_key_type("DerivedBookingDraftSymbolKey", BridgeKeyType::Symbol)?;
47 println!("derived mapped payload: {loaded:?}");
48 println!("bridge root identity: {}", root.identity_id());
49 Ok(())
50 })?;
51
52 Ok(())
53}Sourcepub fn put_mapped(
&mut self,
key: &str,
value: &impl BridgeMapped,
) -> Result<Oop>
pub fn put_mapped( &mut self, key: &str, value: &impl BridgeMapped, ) -> Result<Oop>
Examples found in repository?
examples/bridge_root_mapping.rs (line 49)
39fn main() -> gemstone_rs::Result<()> {
40 let mut session = Session::login(Config::from_env()?)?;
41
42 let payload = BookingDraft {
43 name: "Tariq".to_string(),
44 amount: 100,
45 currency: "GBP".to_string(),
46 };
47
48 let mut bridge_root = session.bridge_root()?;
49 let payload_oop = bridge_root.put_mapped("MyTestDict", &payload)?;
50 let stored = bridge_root.get_oop("MyTestDict")?;
51 assert_eq!(payload_oop, stored);
52
53 let loaded: BookingDraft = bridge_root.get_mapped("MyTestDict")?;
54 assert_eq!(loaded, payload);
55
56 println!("bridge root: {}", bridge_root.name());
57 println!("bridge root OOP: {}", bridge_root.oop().raw());
58 println!("MyTestDict OOP: {}", stored.raw());
59 println!("loaded payload: {loaded:?}");
60
61 bridge_root.commit()?;
62 Ok(())
63}More examples
examples/derive_mapping.rs (line 37)
24fn main() -> gemstone_rs::Result<()> {
25 let mut session = Session::login(Config::from_env()?)?;
26 let mut bridge_root = session.bridge_root()?;
27
28 let draft = BookingDraft {
29 amount: 100,
30 customer: CustomerDraft {
31 name: "Tariq".to_string(),
32 },
33 tags: vec!["priority".to_string(), "demo".to_string()],
34 };
35
36 bridge_root.transaction(|root| {
37 root.put_mapped("DerivedBookingDraft", &draft)?;
38 let loaded: BookingDraft = root.get_mapped("DerivedBookingDraft")?;
39 assert_eq!(loaded, draft);
40 root.put_with_key_type(
41 "DerivedBookingDraftSymbolKey",
42 BridgeKeyType::Symbol,
43 "symbol-key-ok",
44 )?;
45 root.remove("DerivedBookingDraft")?;
46 root.remove_with_key_type("DerivedBookingDraftSymbolKey", BridgeKeyType::Symbol)?;
47 println!("derived mapped payload: {loaded:?}");
48 println!("bridge root identity: {}", root.identity_id());
49 Ok(())
50 })?;
51
52 Ok(())
53}Sourcepub fn get_oop(&mut self, key: &str) -> Result<Oop>
pub fn get_oop(&mut self, key: &str) -> Result<Oop>
Examples found in repository?
examples/bridge_root_mapping.rs (line 50)
39fn main() -> gemstone_rs::Result<()> {
40 let mut session = Session::login(Config::from_env()?)?;
41
42 let payload = BookingDraft {
43 name: "Tariq".to_string(),
44 amount: 100,
45 currency: "GBP".to_string(),
46 };
47
48 let mut bridge_root = session.bridge_root()?;
49 let payload_oop = bridge_root.put_mapped("MyTestDict", &payload)?;
50 let stored = bridge_root.get_oop("MyTestDict")?;
51 assert_eq!(payload_oop, stored);
52
53 let loaded: BookingDraft = bridge_root.get_mapped("MyTestDict")?;
54 assert_eq!(loaded, payload);
55
56 println!("bridge root: {}", bridge_root.name());
57 println!("bridge root OOP: {}", bridge_root.oop().raw());
58 println!("MyTestDict OOP: {}", stored.raw());
59 println!("loaded payload: {loaded:?}");
60
61 bridge_root.commit()?;
62 Ok(())
63}pub fn get_oop_with_key_type( &mut self, key: &str, key_type: BridgeKeyType, ) -> Result<Oop>
pub fn get_value(&mut self, key: &str) -> Result<Value>
pub fn get_value_with_key_type( &mut self, key: &str, key_type: BridgeKeyType, ) -> Result<Value>
pub fn get_string(&mut self, key: &str) -> Result<String>
pub fn get_smallint(&mut self, key: &str) -> Result<i64>
pub fn get_bool(&mut self, key: &str) -> Result<bool>
pub fn get_dictionary(&mut self, key: &str) -> Result<BridgeDictionary<'_>>
Sourcepub fn get_mapped<T: BridgeMapped>(&mut self, key: &str) -> Result<T>
pub fn get_mapped<T: BridgeMapped>(&mut self, key: &str) -> Result<T>
Examples found in repository?
examples/bridge_root_mapping.rs (line 53)
39fn main() -> gemstone_rs::Result<()> {
40 let mut session = Session::login(Config::from_env()?)?;
41
42 let payload = BookingDraft {
43 name: "Tariq".to_string(),
44 amount: 100,
45 currency: "GBP".to_string(),
46 };
47
48 let mut bridge_root = session.bridge_root()?;
49 let payload_oop = bridge_root.put_mapped("MyTestDict", &payload)?;
50 let stored = bridge_root.get_oop("MyTestDict")?;
51 assert_eq!(payload_oop, stored);
52
53 let loaded: BookingDraft = bridge_root.get_mapped("MyTestDict")?;
54 assert_eq!(loaded, payload);
55
56 println!("bridge root: {}", bridge_root.name());
57 println!("bridge root OOP: {}", bridge_root.oop().raw());
58 println!("MyTestDict OOP: {}", stored.raw());
59 println!("loaded payload: {loaded:?}");
60
61 bridge_root.commit()?;
62 Ok(())
63}More examples
examples/derive_mapping.rs (line 38)
24fn main() -> gemstone_rs::Result<()> {
25 let mut session = Session::login(Config::from_env()?)?;
26 let mut bridge_root = session.bridge_root()?;
27
28 let draft = BookingDraft {
29 amount: 100,
30 customer: CustomerDraft {
31 name: "Tariq".to_string(),
32 },
33 tags: vec!["priority".to_string(), "demo".to_string()],
34 };
35
36 bridge_root.transaction(|root| {
37 root.put_mapped("DerivedBookingDraft", &draft)?;
38 let loaded: BookingDraft = root.get_mapped("DerivedBookingDraft")?;
39 assert_eq!(loaded, draft);
40 root.put_with_key_type(
41 "DerivedBookingDraftSymbolKey",
42 BridgeKeyType::Symbol,
43 "symbol-key-ok",
44 )?;
45 root.remove("DerivedBookingDraft")?;
46 root.remove_with_key_type("DerivedBookingDraftSymbolKey", BridgeKeyType::Symbol)?;
47 println!("derived mapped payload: {loaded:?}");
48 println!("bridge root identity: {}", root.identity_id());
49 Ok(())
50 })?;
51
52 Ok(())
53}Sourcepub fn remove(&mut self, key: &str) -> Result<Oop>
pub fn remove(&mut self, key: &str) -> Result<Oop>
Examples found in repository?
examples/derive_mapping.rs (line 45)
24fn main() -> gemstone_rs::Result<()> {
25 let mut session = Session::login(Config::from_env()?)?;
26 let mut bridge_root = session.bridge_root()?;
27
28 let draft = BookingDraft {
29 amount: 100,
30 customer: CustomerDraft {
31 name: "Tariq".to_string(),
32 },
33 tags: vec!["priority".to_string(), "demo".to_string()],
34 };
35
36 bridge_root.transaction(|root| {
37 root.put_mapped("DerivedBookingDraft", &draft)?;
38 let loaded: BookingDraft = root.get_mapped("DerivedBookingDraft")?;
39 assert_eq!(loaded, draft);
40 root.put_with_key_type(
41 "DerivedBookingDraftSymbolKey",
42 BridgeKeyType::Symbol,
43 "symbol-key-ok",
44 )?;
45 root.remove("DerivedBookingDraft")?;
46 root.remove_with_key_type("DerivedBookingDraftSymbolKey", BridgeKeyType::Symbol)?;
47 println!("derived mapped payload: {loaded:?}");
48 println!("bridge root identity: {}", root.identity_id());
49 Ok(())
50 })?;
51
52 Ok(())
53}Sourcepub fn remove_with_key_type(
&mut self,
key: &str,
key_type: BridgeKeyType,
) -> Result<Oop>
pub fn remove_with_key_type( &mut self, key: &str, key_type: BridgeKeyType, ) -> Result<Oop>
Examples found in repository?
examples/derive_mapping.rs (line 46)
24fn main() -> gemstone_rs::Result<()> {
25 let mut session = Session::login(Config::from_env()?)?;
26 let mut bridge_root = session.bridge_root()?;
27
28 let draft = BookingDraft {
29 amount: 100,
30 customer: CustomerDraft {
31 name: "Tariq".to_string(),
32 },
33 tags: vec!["priority".to_string(), "demo".to_string()],
34 };
35
36 bridge_root.transaction(|root| {
37 root.put_mapped("DerivedBookingDraft", &draft)?;
38 let loaded: BookingDraft = root.get_mapped("DerivedBookingDraft")?;
39 assert_eq!(loaded, draft);
40 root.put_with_key_type(
41 "DerivedBookingDraftSymbolKey",
42 BridgeKeyType::Symbol,
43 "symbol-key-ok",
44 )?;
45 root.remove("DerivedBookingDraft")?;
46 root.remove_with_key_type("DerivedBookingDraftSymbolKey", BridgeKeyType::Symbol)?;
47 println!("derived mapped payload: {loaded:?}");
48 println!("bridge root identity: {}", root.identity_id());
49 Ok(())
50 })?;
51
52 Ok(())
53}Sourcepub fn commit(&mut self) -> Result<()>
pub fn commit(&mut self) -> Result<()>
Examples found in repository?
examples/bridge_root_mapping.rs (line 61)
39fn main() -> gemstone_rs::Result<()> {
40 let mut session = Session::login(Config::from_env()?)?;
41
42 let payload = BookingDraft {
43 name: "Tariq".to_string(),
44 amount: 100,
45 currency: "GBP".to_string(),
46 };
47
48 let mut bridge_root = session.bridge_root()?;
49 let payload_oop = bridge_root.put_mapped("MyTestDict", &payload)?;
50 let stored = bridge_root.get_oop("MyTestDict")?;
51 assert_eq!(payload_oop, stored);
52
53 let loaded: BookingDraft = bridge_root.get_mapped("MyTestDict")?;
54 assert_eq!(loaded, payload);
55
56 println!("bridge root: {}", bridge_root.name());
57 println!("bridge root OOP: {}", bridge_root.oop().raw());
58 println!("MyTestDict OOP: {}", stored.raw());
59 println!("loaded payload: {loaded:?}");
60
61 bridge_root.commit()?;
62 Ok(())
63}pub fn commit_with_retry(&mut self, retries: usize) -> Result<()>
Sourcepub fn transaction<T>(
&mut self,
body: impl FnOnce(&mut BridgeRoot<'_>) -> Result<T>,
) -> Result<T>
pub fn transaction<T>( &mut self, body: impl FnOnce(&mut BridgeRoot<'_>) -> Result<T>, ) -> Result<T>
Examples found in repository?
examples/derive_mapping.rs (lines 36-50)
24fn main() -> gemstone_rs::Result<()> {
25 let mut session = Session::login(Config::from_env()?)?;
26 let mut bridge_root = session.bridge_root()?;
27
28 let draft = BookingDraft {
29 amount: 100,
30 customer: CustomerDraft {
31 name: "Tariq".to_string(),
32 },
33 tags: vec!["priority".to_string(), "demo".to_string()],
34 };
35
36 bridge_root.transaction(|root| {
37 root.put_mapped("DerivedBookingDraft", &draft)?;
38 let loaded: BookingDraft = root.get_mapped("DerivedBookingDraft")?;
39 assert_eq!(loaded, draft);
40 root.put_with_key_type(
41 "DerivedBookingDraftSymbolKey",
42 BridgeKeyType::Symbol,
43 "symbol-key-ok",
44 )?;
45 root.remove("DerivedBookingDraft")?;
46 root.remove_with_key_type("DerivedBookingDraftSymbolKey", BridgeKeyType::Symbol)?;
47 println!("derived mapped payload: {loaded:?}");
48 println!("bridge root identity: {}", root.identity_id());
49 Ok(())
50 })?;
51
52 Ok(())
53}Auto Trait Implementations§
impl<'a> Freeze for BridgeRoot<'a>
impl<'a> !RefUnwindSafe for BridgeRoot<'a>
impl<'a> !Send for BridgeRoot<'a>
impl<'a> !Sync for BridgeRoot<'a>
impl<'a> Unpin for BridgeRoot<'a>
impl<'a> UnsafeUnpin for BridgeRoot<'a>
impl<'a> !UnwindSafe for BridgeRoot<'a>
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