Skip to content

Commit 766604b

Browse files
committed
Deleted swimos_store. Removed dead code.
1 parent 16a6d82 commit 766604b

File tree

25 files changed

+104
-587
lines changed

25 files changed

+104
-587
lines changed

runtime/swimos_rocks_store/Cargo.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@ version = "0.1.0"
44
edition = "2021"
55

66
[dependencies]
7+
swimos_api = { path = "../../api/swimos_api" }
78
swimos_model = { path = "../../api/swimos_model" }
8-
swimos_store = { path = "../swimos_store" }
99
rocksdb = { workspace = true }
1010
futures = { workspace = true }
1111
swimos_utilities = { path = "../../swimos_utilities", features = ["io", "circular_buffer", "future"] }
1212
swimos_form = { path = "../../api/swimos_form" }
13-
swimos_api = { path = "../../api/swimos_api" }
1413
tokio = { workspace = true, features = ["sync"] }
1514
futures-util = { workspace = true }
1615
bytes = { workspace = true }

runtime/swimos_rocks_store/src/agent/mock/mod.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,12 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15+
use swimos_api::error::StoreError;
16+
1517
use crate::agent::{NodeStore, SwimNodeStore};
18+
use crate::nostore::NoRange;
1619
use crate::plane::mock::MockPlaneStore;
1720
use crate::server::{StoreEngine, StoreKey};
18-
use swimos_store::nostore::NoRange;
19-
use swimos_store::StoreError;
2021

2122
#[derive(Clone, Debug)]
2223
pub struct MockNodeStore {

runtime/swimos_rocks_store/src/agent/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15+
#[cfg(test)]
1516
pub mod mock;
1617

1718
use std::fmt::{Debug, Formatter};
@@ -20,14 +21,13 @@ use std::sync::Arc;
2021
use bytes::BytesMut;
2122
use futures::future::{ready, BoxFuture};
2223
use futures::FutureExt;
23-
use swimos_api::persistence::{NodePersistence, PlanePersistence};
24+
use swimos_api::error::StoreError;
25+
use swimos_api::persistence::{NodePersistence, PlanePersistence, RangeConsumer};
2426
use swimos_model::Text;
2527

2628
use crate::plane::PlaneStore;
2729
use crate::server::{StoreEngine, StoreKey};
2830

29-
use swimos_store::{RangeConsumer, StoreError};
30-
3131
/// A trait for defining store engines which open stores for nodes.
3232
///
3333
/// Node stores are responsible for ensuring that the data models that they open for their lanes

runtime/swimos_rocks_store/src/engine/iterator.rs

Lines changed: 5 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -12,39 +12,11 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
use rocksdb::{DBIteratorWithThreadMode, DBRawIterator, DBWithThreadMode, SingleThreaded};
16-
use swimos_store::{EngineIterator, EnginePrefixIterator, IteratorKey, KeyValue, KvBytes};
17-
use swimos_store::{RangeConsumer, StoreError};
18-
19-
pub struct RocksPrefixIterator<'p> {
20-
delegate: DBIteratorWithThreadMode<'p, DBWithThreadMode<SingleThreaded>>,
21-
}
22-
23-
impl<'p> From<DBIteratorWithThreadMode<'p, DBWithThreadMode<SingleThreaded>>>
24-
for RocksPrefixIterator<'p>
25-
{
26-
fn from(delegate: DBIteratorWithThreadMode<'p, DBWithThreadMode<SingleThreaded>>) -> Self {
27-
RocksPrefixIterator { delegate }
28-
}
29-
}
30-
31-
impl<'d> EnginePrefixIterator for RocksPrefixIterator<'d> {
32-
fn next(&mut self) -> Option<Result<KvBytes, StoreError>> {
33-
self.delegate
34-
.next()
35-
.map(|r| r.map_err(|e| StoreError::Delegate(Box::new(e))))
36-
}
37-
}
38-
39-
pub struct RocksIterator<'d> {
40-
iter: DBRawIterator<'d>,
41-
}
42-
43-
impl<'d> From<DBRawIterator<'d>> for RocksIterator<'d> {
44-
fn from(iter: DBRawIterator<'d>) -> Self {
45-
RocksIterator { iter }
46-
}
47-
}
15+
use rocksdb::DBRawIterator;
16+
use swimos_api::{
17+
error::StoreError,
18+
persistence::{KeyValue, RangeConsumer},
19+
};
4820

4921
pub struct RocksRawPrefixIterator<'d> {
5022
first: bool,
@@ -74,35 +46,3 @@ impl<'d> RangeConsumer for RocksRawPrefixIterator<'d> {
7446
}
7547
}
7648
}
77-
78-
impl<'d> EngineIterator for RocksIterator<'d> {
79-
fn seek_to(&mut self, key: IteratorKey) -> Result<bool, StoreError> {
80-
match key {
81-
IteratorKey::Start => self.iter.seek_to_first(),
82-
IteratorKey::End => self.iter.seek_to_last(),
83-
IteratorKey::ToKey(key) => self.iter.seek(key),
84-
}
85-
self.valid()
86-
}
87-
88-
fn seek_next(&mut self) {
89-
self.iter.next();
90-
}
91-
92-
fn key(&self) -> Option<&[u8]> {
93-
self.iter.key()
94-
}
95-
96-
fn value(&self) -> Option<&[u8]> {
97-
self.iter.value()
98-
}
99-
100-
fn valid(&self) -> Result<bool, StoreError> {
101-
if !self.iter.valid() {
102-
self.iter
103-
.status()
104-
.map_err(|e| StoreError::Delegate(Box::new(e)))?;
105-
}
106-
Ok(self.iter.valid())
107-
}
108-
}

runtime/swimos_rocks_store/src/engine/mod.rs

Lines changed: 8 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@ mod tests;
1717

1818
mod iterator;
1919

20-
pub use iterator::{RocksIterator, RocksPrefixIterator, RocksRawPrefixIterator};
20+
pub use iterator::RocksRawPrefixIterator;
2121

2222
use rocksdb::{ColumnFamily, ColumnFamilyDescriptor, ReadOptions};
2323
use rocksdb::{Options, DB};
2424
use std::path::Path;
2525
use std::sync::Arc;
26-
use swimos_store::EnginePrefixIterator;
27-
use swimos_store::{
28-
serialize_u64, EngineInfo, Keyspace, KeyspaceByteEngine, KeyspaceResolver, Keyspaces, Store,
29-
StoreBuilder, StoreError, MAX_ID_SIZE,
30-
};
26+
use swimos_api::error::StoreError;
27+
28+
use crate::keyspaces::{Keyspace, KeyspaceByteEngine, KeyspaceResolver, Keyspaces};
29+
use crate::store::{Store, StoreBuilder};
30+
use crate::utils::{serialize_u64, MAX_ID_SIZE};
3131

3232
/// A Rocks database engine.
3333
///
@@ -37,47 +37,14 @@ pub struct RocksEngine {
3737
pub(crate) delegate: Arc<DB>,
3838
}
3939

40+
impl Store for RocksEngine {}
41+
4042
impl RocksEngine {
4143
pub fn new(delegate: DB) -> RocksEngine {
4244
RocksEngine {
4345
delegate: Arc::new(delegate),
4446
}
4547
}
46-
47-
/// Returns an iterator over the entire store.
48-
pub fn iterator<'a: 'b, 'b>(
49-
&'a self,
50-
space: &'b <Self as KeyspaceResolver>::ResolvedKeyspace,
51-
) -> Result<RocksIterator<'b>, StoreError> {
52-
let mut iter = self.delegate.raw_iterator_cf(space);
53-
iter.seek_to_first();
54-
55-
Ok(iter.into())
56-
}
57-
58-
/// Returns an iterator for all of the elements in the keyspace `space` that have keys that are
59-
/// prefixed by `prefix` and with the default iterator options.
60-
pub fn prefix_iterator<'a: 'b, 'b>(
61-
&'a self,
62-
space: &'b <Self as KeyspaceResolver>::ResolvedKeyspace,
63-
prefix: &'b [u8],
64-
) -> Result<RocksPrefixIterator<'b>, StoreError> {
65-
let it = self.delegate.prefix_iterator_cf(space, prefix);
66-
Ok(it.into())
67-
}
68-
}
69-
70-
impl Store for RocksEngine {
71-
fn path(&self) -> &Path {
72-
self.delegate.path()
73-
}
74-
75-
fn engine_info(&self) -> EngineInfo {
76-
EngineInfo {
77-
path: self.path().to_string_lossy().to_string(),
78-
kind: "RocksDB".to_string(),
79-
}
80-
}
8148
}
8249

8350
impl KeyspaceResolver for RocksEngine {
@@ -201,40 +168,6 @@ impl KeyspaceByteEngine for RocksEngine {
201168
})
202169
}
203170

204-
fn get_prefix_range<F, K, V, S>(
205-
&self,
206-
keyspace: S,
207-
prefix: &[u8],
208-
map_fn: F,
209-
) -> Result<Option<Vec<(K, V)>>, StoreError>
210-
where
211-
F: for<'i> Fn(&'i [u8], &'i [u8]) -> Result<(K, V), StoreError>,
212-
S: Keyspace,
213-
{
214-
let resolved = self
215-
.resolve_keyspace(&keyspace)
216-
.ok_or(StoreError::KeyspaceNotFound)?;
217-
let mut it = self.prefix_iterator(resolved, prefix)?;
218-
let mut data = Vec::new();
219-
220-
loop {
221-
match it.next() {
222-
Some(Ok((key, value))) => {
223-
let mapped = map_fn(key.as_ref(), value.as_ref())?;
224-
data.push(mapped);
225-
}
226-
Some(Err(e)) => return Err(e),
227-
_ => break,
228-
}
229-
}
230-
231-
if data.is_empty() {
232-
Ok(None)
233-
} else {
234-
Ok(Some(data))
235-
}
236-
}
237-
238171
fn delete_key_range<S>(
239172
&self,
240173
keyspace: S,

0 commit comments

Comments
 (0)