Commit graph

262 commits

Author SHA1 Message Date
38791ea2f9 Fix: negation error
Suggested-by: Marcel Müller <neikos@neikos.email>
2016-01-29 16:53:13 +01:00
3b51328aa7 Merge pull request #145 from neithernut/fix-store-retrieve
Fix Store::retrieve()
2016-01-29 16:29:38 +01:00
b04c676eb9 Add store debugging output 2016-01-28 21:06:49 +01:00
Julian Ganz
c6ec47a8af Change status _after_ calling StoreEntry::get_entry()
StoreEntry::get_entry() will return an error if the store entry's status
is "borrowed".
2016-01-28 20:47:34 +01:00
Julian Ganz
355ec697c1 Implement Store::retrieve_copy() 2016-01-25 22:26:00 +01:00
Julian Ganz
1085127036 Add missing error handling
We don't want to panick if a lock inside the store is broken. We want to
notify the user, so she can start panicking.
2016-01-25 20:38:45 +01:00
6c53f172dc Minify implementation of Store::retrieve() 2016-01-25 15:32:50 +01:00
Julian Ganz
540348380e Mark store entry as borrowed 2016-01-25 12:34:37 +01:00
Julian Ganz
86ab4ba4b1 Slimline translation from entry to file lock entry 2016-01-25 12:32:30 +01:00
Julian Ganz
9760f72e79 get_entry() already asserts the entry is not borrowed 2016-01-25 12:31:22 +01:00
Julian Ganz
acfbb16eb2 Fix Store::retrieve()
The previous version of `Store::retrieve()` required the entry to be
already registered in the store's hashmap.
2016-01-24 22:57:11 +01:00
4a08eed700 Merge pull request #144 from matthiasbeyer/libimagstore/add-missing-pub
Fix: Add missing "pub" on Entry functions
2016-01-24 20:29:11 +01:00
82873d82ba Merge pull request #143 from TheNeikos/add-store_update
Implement storenetry:write_entry
2016-01-24 20:25:57 +01:00
d24f661778 Fix: Add missing "pub" on Entry functions 2016-01-24 20:20:43 +01:00
Marcel Müller
4e990465c8
Implement storeentry:write_entry 2016-01-24 20:05:33 +01:00
bbd08d9526 Add Store::retrieve_for_module() 2016-01-24 17:40:06 +01:00
Marcel Müller
ee8cf35fcc
Implement store::create 2016-01-24 17:34:29 +01:00
Marcel Müller
c7f584a81a
Add from_str to Entry 2016-01-24 17:04:33 +01:00
Marcel Müller
fdc3dde95b
Change names to reflect changes 2016-01-24 17:04:33 +01:00
Marcel Müller
15931d3471
Remove EntryHeader::new_current 2016-01-24 17:04:33 +01:00
Marcel Müller
a64ffdfc56
Implement entry reading 2016-01-24 17:04:33 +01:00
Marcel Müller
97b7090824
Partially implement get_entry 2016-01-24 17:04:33 +01:00
Marcel Müller
50413101c4
Move entry, content and header into store 2016-01-24 17:04:32 +01:00
Marcel Müller
ba2e52788b
Add entry_creation 2016-01-24 17:04:32 +01:00
Marcel Müller
d949cddc65
Implement Store::retrieve 2016-01-24 17:04:32 +01:00
c48f3afcf4 Return error if create() fails 2016-01-23 11:57:40 +01:00
80b0501d03 Introduce error if the store path exists but is a file 2016-01-23 11:57:40 +01:00
4f71563eb4 Store::new(): Create path if nonexistent 2016-01-23 11:57:40 +01:00
Homu
2e77afbb3c Auto merge of #125 - TheNeikos:add-store_utils, r=matthiasbeyer
Add store utils

Do not merge yet!!
2016-01-22 10:31:02 -08:00
Homu
7511e220c8 Auto merge of #110 - neithernut:remove-residual-storeentry-methods, r=matthiasbeyer
Remove methods which are not needed anymore

These methods were intended for managing cached entries. Sice it was
decided not to serve caching in the store, these methods are no longer
needed.
2016-01-23 03:06:09 +09:00
Marcel Müller
560e7106f8 iQIcBAABCgAGBQJWomPqAAoJEN1O030MrHbiYEEQALGQfJYEfbCgvVejgiwOKMjv
m7U7nEQbMMVYHVbeCdUs2PXHwCFr8slSccyWoF0QNHX4/Tx5t+XJ9JnRsyIhQyzi
 UWRQo3mHDErn2lP+M+4kfDWPpOdJicJKAxyiLgGo/Aw5CblX9MAaKfE85rZh7atx
 JM567tN+O/Cflt676Mva3xnzpisHFKVJKG58k+QzmZOgNtROWg3PTyAb+/T2c6Vd
 Ty+zW4zt7LwKjGlK9YEDqEwpg3STKUPT9T5S6ZFkPHBbjPVtM5yXK1oTWOpE7zn+
 iXSjCqfC2Ok+MT9YB1loexY2f6bzwqZkmWHl3M+4f1fJfhBQR0Zdz4a/hyp2YLcv
 hVW/X/AeVCdoMOBZ9PCaFjY6aXFycB6HlDDU1jldCN5U08BfY+h6hDtW5xaPLj2s
 WWeyIZgnqLJsGk7VK+/KAdDZMAZVwoC69AVXQS+IjejetQWHY5OFhCBfRVZ02/aX
 jwdZSfw5oNCGsvrzknkcECL9bPQAGRptoLbGuuLNPaACNd8ebWTmw4gwxFYwwAGY
 Dq6NDA33S3uRDvK24MpUA8g5OxsU8kzblhP6iYqGTg0dLnGFRzioKDg3v7NFKN9/
 Yy7g1uQCZIVbrVnZF6w68jfuX6IoIHWl6eg6De2AmMNClYGZflDzbSoYCZkiz1d4
 AR6HHXLT84nAJ2tCgK0S
 =6TMR
 -----END PGP SIGNATURE-----

Add macro to create ModuleEntryPath
2016-01-22 18:16:26 +01:00
Homu
bec97f8fc2 Auto merge of #111 - neithernut:impl-store-delete, r=matthiasbeyer
Implement `Store::delete()`

Targets #106.
2016-01-17 10:12:30 -08:00
Julian Ganz
82ed978e90 Styling: remove some whitespace and a scope 2016-01-17 19:08:15 +01:00
Julian Ganz
e6c05e4f5b Implement Store::delete() 2016-01-17 18:50:03 +01:00
Homu
c4711d2508 Auto merge of #109 - matthiasbeyer:libimagstore/remove-unused-imports, r=matthiasbeyer
Remove unused imports

@TheNeikos
2016-01-18 00:29:49 +09:00
Julian Ganz
66daa255a9 Remove methods which are not needed anymore
These methods were intended for managing cached entries. Sice it was
decided not to serve caching in the store, these methods are no longer
needed.
2016-01-17 16:25:14 +01:00
48071fbc7b Remove unused imports 2016-01-17 16:23:35 +01:00
345e1bffeb Add Store::new() 2016-01-17 16:04:31 +01:00
Marcel Müller
6ec2b02792
Replace Option with enum of presence 2016-01-17 15:28:25 +01:00
Marcel Müller
cfc6e860b1
Add documentation to src/store.rs 2016-01-17 15:28:24 +01:00
Marcel Müller
313a0f9d7e
Add missing pub modifiers to Store impl 2016-01-17 15:28:24 +01:00
Marcel Müller
463c182bcc
Use StoreEntry instead of a tuple 2016-01-17 15:28:24 +01:00
Marcel Müller
d4c850ef17
Remove export of types 2016-01-17 15:28:24 +01:00
Marcel Müller
dcdd67db9e
Add whitespace between implementations 2016-01-17 15:28:24 +01:00
Marcel Müller
418ab5b9eb
Rename path arguments to id 2016-01-17 15:28:24 +01:00
Marcel Müller
044c19f0cc
Add storeid 2016-01-17 15:28:23 +01:00
Marcel Müller
0b7ad4e2fd
Fix inconsistency 2016-01-17 15:26:04 +01:00
Marcel Müller
34f2d4c1f1
Add Drop to FileLockEntry 2016-01-17 15:25:59 +01:00
Marcel Müller
3c80180df0
Revert "Make "Store" a trait"
This reverts commit 912c84e663.
2016-01-16 19:04:15 +01:00
Marcel Müller
676dc9073f
Update Store and FSStore to use FileLockEntry 2016-01-16 18:32:57 +01:00
Marcel Müller
5ab6327d97
Rename read to retrieve 2016-01-16 18:29:04 +01:00
Marcel Müller
52f70e5b71
Add FileLockEntry 2016-01-16 18:25:48 +01:00
Marcel Müller
9d7f20b68e
Merge branch 'neithernut/init-libstore-alt' into add-libstore 2016-01-16 18:08:21 +01:00
Julian Ganz
70883409aa Allow to update an item multiple times 2016-01-16 15:12:10 +01:00
Julian Ganz
ba0ef701e9 Use strings correctly 2016-01-16 15:11:20 +01:00
Julian Ganz
6bb48f53f4 Add missing inclusion of SingeUseLock type 2016-01-16 15:08:01 +01:00
Julian Ganz
a7d1cdadc0 Add initial version of store interface
The interface enables users to both create and remove entries. It also
features methods for retrieval of both unlocked and lockes entries and a
method for writing back the latter one only.
2016-01-16 07:15:49 +01:00
912c84e663 Make "Store" a trait 2016-01-13 22:03:53 +01:00
d23e2f920d impl Drop for Store 2016-01-13 21:51:40 +01:00
fff41b447a Add store-internal cache 2016-01-13 21:47:23 +01:00
4f8aacfa5a Fixup: Store type: read() should return Arc<RWLock<>>, update() should take that 2016-01-13 11:53:56 +01:00
b1ace253c8 Add Store type for store 2016-01-12 18:52:47 +01:00