Skip to content

Commit db9e113

Browse files
authored
Merge pull request #3 from onecodex/vp_cleanup
Remove legacy feature & update bincode
2 parents f375882 + c8ffecd commit db9e113

12 files changed

+158
-167
lines changed

.github/workflows/ci.yml

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
name: CI
2+
on:
3+
push:
4+
branches:
5+
- master
6+
pull_request:
7+
8+
jobs:
9+
tests:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@master
14+
15+
- uses: actions-rs/toolchain@v1
16+
with:
17+
profile: minimal
18+
toolchain: 1.40.0
19+
override: true
20+
21+
- name: create SSH key
22+
uses: webfactory/ssh-agent@v0.2.0
23+
with:
24+
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
25+
26+
- name: version info
27+
run: rustc --version; cargo --version;
28+
29+
- name: Run all tests
30+
run: cargo test
31+
32+
tests-prefetching:
33+
runs-on: ubuntu-latest
34+
steps:
35+
- name: Checkout
36+
uses: actions/checkout@master
37+
38+
- uses: actions-rs/toolchain@v1
39+
with:
40+
profile: minimal
41+
toolchain: nightly
42+
override: true
43+
44+
- name: create SSH key
45+
uses: webfactory/ssh-agent@v0.2.0
46+
with:
47+
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
48+
49+
- name: version info
50+
run: rustc --version; cargo --version;
51+
52+
- name: Run all tests
53+
run: cargo test --all-features
54+
55+
fmt:
56+
runs-on: ubuntu-latest
57+
steps:
58+
- name: Checkout
59+
uses: actions/checkout@master
60+
61+
- uses: actions-rs/toolchain@v1
62+
with:
63+
profile: minimal
64+
toolchain: stable
65+
override: true
66+
67+
- name: create SSH key
68+
uses: webfactory/ssh-agent@v0.2.0
69+
with:
70+
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
71+
72+
- uses: actions-rs/cargo@v1
73+
with:
74+
command: fmt
75+
args: --all -- --check
76+
77+
clippy:
78+
runs-on: ubuntu-latest
79+
steps:
80+
- name: Checkout
81+
uses: actions/checkout@master
82+
83+
- uses: actions-rs/toolchain@v1
84+
with:
85+
profile: minimal
86+
toolchain: stable
87+
override: true
88+
89+
- name: create SSH key
90+
uses: webfactory/ssh-agent@v0.2.0
91+
with:
92+
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
93+
94+
- uses: actions-rs/cargo@v1
95+
with:
96+
command: clippy
97+
args: -- -D warnings

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@
22
**/*.rs.bk
33
Cargo.lock
44
.DS_Store
5+
.idea/

Cargo.toml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
11
[package]
22
name = "bfield"
3-
version = "0.2.0"
3+
version = "0.2.1"
44
authors = ["Roderick Bovee <roderick@onecodex.com>"]
55
edition = "2018"
66

77
[dependencies]
8-
bincode = "0.9.2"
9-
mmap-bitvec = { git="ssh://git@github.com/onecodex/mmap-bitvec.git", tag="v0.3.0" }
8+
bincode = "1"
9+
mmap-bitvec = { git="ssh://git@github.com/onecodex/mmap-bitvec.git", tag="v0.3.1" }
1010
murmurhash3 = "0.0.5"
1111
serde = "1.0.15"
1212
serde_derive = "1.0.15"
13-
serde_json = { version = "1.0.4", optional = true}
1413

1514
[features]
16-
marker_lookup = ["mmap-bitvec/rank_lookup"]
1715
prefetching = []
18-
legacy = ["mmap-bitvec/backward_bytes", "serde_json"]

src/bfield.rs

Lines changed: 1 addition & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ pub struct BField<T> {
1313
}
1414

1515
impl<'a, T: Clone + DeserializeOwned + Serialize> BField<T> {
16-
// the hashing is different, so we don't want to accidentally create file in legacy mode
17-
#[cfg(not(feature = "legacy"))]
16+
#[allow(clippy::too_many_arguments)]
1817
pub fn create<P>(
1918
filename: P,
2019
size: usize,
@@ -67,7 +66,6 @@ impl<'a, T: Clone + DeserializeOwned + Serialize> BField<T> {
6766
})
6867
}
6968

70-
#[cfg(not(feature = "legacy"))]
7169
pub fn from_file<P>(filename: P, read_only: bool) -> Result<Self, io::Error>
7270
where
7371
P: AsRef<Path>,
@@ -95,32 +93,6 @@ impl<'a, T: Clone + DeserializeOwned + Serialize> BField<T> {
9593
Ok(BField { members, read_only })
9694
}
9795

98-
#[cfg(feature = "legacy")]
99-
pub fn from_file<P>(filename: P, _: bool) -> Result<Self, io::Error>
100-
where
101-
P: AsRef<Path>,
102-
{
103-
let first_member = BFieldMember::open_legacy(&filename)?;
104-
let mut members = vec![first_member];
105-
let mut n = 1;
106-
loop {
107-
let member_filename = Path::with_extension(
108-
Path::file_stem(filename.as_ref()).unwrap().as_ref(),
109-
format!("mmap.secondary.{:03}", n),
110-
);
111-
if !member_filename.exists() {
112-
break;
113-
}
114-
let member = BFieldMember::open_legacy(&member_filename)?;
115-
members.push(member);
116-
n += 1;
117-
}
118-
Ok(BField {
119-
members,
120-
read_only: true,
121-
})
122-
}
123-
12496
pub fn build_params(&self) -> (u8, u8, u8, Vec<usize>) {
12597
let (_, n_hashes, marker_width, n_marker_bits) = self.members[0].info();
12698
let sizes = self.members.iter().map(|i| i.info().0).collect();
@@ -189,12 +161,3 @@ impl<'a, T: Clone + DeserializeOwned + Serialize> BField<T> {
189161
self.members.iter().map(|m| m.info()).collect()
190162
}
191163
}
192-
193-
#[cfg(feature = "legacy")]
194-
#[test]
195-
fn test_legacy() {
196-
let bf: BField<usize> = BField::from_file("./test_data/legacy/test_bfield.mmap", true).unwrap();
197-
assert_eq!(bf.get(b"Hello"), Some(0));
198-
assert_eq!(bf.get(b"Not here."), None);
199-
assert_eq!(bf.get(b"Hello again"), Some(0));
200-
}

0 commit comments

Comments
 (0)