3e661439e8
Add sanity-check to header parsing
2016-01-23 11:30:53 +01:00
6be3011e85
Add: EntryHeader::parse()
...
Introduce Error + Error-kind for it, return Result<> from the ::parse()
function.
2016-01-23 11:28:20 +01:00
Marcel Müller
03c2ded21b
Move tempdir to dev-dependencies
2016-01-22 21:08:56 +01:00
Marcel Müller
4d28b57658
Remove remaining Cargo.lock files
2016-01-22 20:15:32 +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
40572d946d
iQIcBAABCgAGBQJWomU5AAoJEN1O030MrHbiHZgQAKF7BnDgNMMMLS0B5EkN+rtJ
...
KDMJjn8iaHcww1H2GMAPxW24xTNdD4JbWOBBC/g76YUtO9XdpXgeiz7JvtfAtZuQ
mltpTAUncCRFRuTHqvDnKKPWXv4s0NpTJthJOtse+FwhWF8hgCKkXef8lJeMDxLg
7ipF/bIFnUAYq1BUc2NVguAVD23c+l05lgTEaUlzqNENozJWGqA8EwpE2ShEpjSH
RmOD9FowY1pFqfIOOTdNcVSNAnIM2LnCEqS9BgeE1vtToeOo9yz9B+ffyqoJgjEp
AD8Q0S4Kp0pMkduUpZbCEu3KCcSUcdRpojdsAbMKPiiMW/CDQQk3RUavO41zSci3
gUOqnURaEbLBG4j3h47sA3PZOcsDrBLYL9G4aWk/6BG8kctrC4b3yzDU50InWOJQ
2b1ppTCcQYnTUOLMvYkm1sFk/LhofH+Wk3GypGlIvw9xJISNHj73G9Qo3tF6OhWL
/FaMlPPJYTbWsCaQcJTNKO7QcLyV72bJUDBaN9Z8+2ueQvqEwNvBOEcbJnce51+b
1sOoklhEjpLpGUGvQn0l8Ig2ezV98CJrOwHPqQSTrFBcrCRB2sHLMmt0AzLjINEH
SCRUj3ZUqp9TMU3X/zH1f1d8lglJhmZcPBomclbliyeXHiSvrBKGytfzeKG+aNIK
6Ionaq9akACh5kbjctGZ
=Y00k
-----END PGP SIGNATURE-----
Add lints to make sure macro does not generate warnings
2016-01-22 18:22:01 +01: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
Marcel Müller
a85d658f33
iQIcBAABCgAGBQJWol+6AAoJEN1O030MrHbiP6YP/0gq5zudvb0JtDAxbwYUuY0H
...
kl+2eDAclmvugaOyzCi4LC1CHPakJVauEwmWqJ50IrJt6uBsf4tCbWCtMnPXnnVe
K3yYGbzHwObTALk6TxfnQltdIUcghVuFwC93gE+lsNi/JrL3pzxXyU7t/bs4canP
QluV6o3HW4Y4vXn/d0Lnjkb7gpNxDaeMShm1xvb3OcKKUtO4ni4xOUsVi5zlI+kk
UYuh+V/FJFA0tmKbvJqVan20/Xt462vyGCL36JmAOEFmOLZ+PIL6bpTzoupJYEtc
9yWZD7VQLU6SurFMNhEoALoS3/Vn+F/kBvAzjO8hUs9at/ocs/1WzG59RiV/TBKF
mJbRyiODdASqBRWUW9S4vULX3tVsNrUFtit3quxh4YDVmtGcT/YEF/kmE2s9QFxH
3yECBdo6FZXWtIWeGiLaLxr5L4eqNIsfhDTfa0Dtn/0w8SIZlUCDBanEyFpaCBtI
2wjwea8ywk9ydkOCCZv5TCnYJewYuMvFmQrhOZTMw5ZAo1urT7wa7AhTVXbZ9B0E
7wheTkQ5fNx2SmrB06Tdzt8ZnizjOhTEmzLYlB3T7E2hFfoohGxPqT1iAh/RGCvL
PdQCA0QCKXenjiaIbA4zBwrvOIpsgs/keJ1HnK9EVmwddXdkLqdqzAlpb/BwATVL
TH3JxmTYRZ1+eJkN1jpj
=Fk4L
-----END PGP SIGNATURE-----
Add semver crate to Cargo.toml
2016-01-22 17:58:32 +01:00
af411fbdb0
Add Entry mutable getters
2016-01-22 14:25:03 +01:00
c21bed3af9
Add Entry getters
2016-01-22 14:24:20 +01:00
cfa8c29eaf
error.rs: Add documentation
2016-01-21 21:31:48 +01:00
434a766536
lazyfile.rs: Add documentation
2016-01-21 21:30:41 +01:00
64ee182d63
entry.rs: Add documentation
2016-01-21 21:28:29 +01:00
67ae39ab5b
header.rs: Add documentation
2016-01-21 21:28:18 +01:00
f921a73fb0
content.rs: Add documentation
2016-01-21 21:28:08 +01:00
Marcel Müller
a75ba8ea72
iQIcBAABCgAGBQJWnTB3AAoJEN1O030MrHbi9V4P/3tis8CVncUcVFC5NohTBbRk
...
tFrubrLNw+ketVYV8JsHPtygtvZ8jfMy3DdSTHqxOoC0jPEERSMwkZ98AVySS70w
D2A9Wjxt6s2heg23MMpEtP/axBMoSshj30Hu/S70qI9M0HskloJ1he02urhs9LqA
kCUnS9oiiQ2qxtOuoGk4NLwOa/fyPFdznYjBjFOnIjf6Qmc0xaMTvxSei1H18GcW
+Ug9eU3XERV4mehehXSqzrAKa3zTsF3dur6Y+e6rgYbaQpv7vBNlNr733R1ao0tY
A8UUb/90hIUKpfgLNQYbAXI37AvrKj5njk/BGm5ca/gRUwWkL1nKkkolvJvsjQgO
hyifT3JmHmtOa4A4mgDF1DLOAZVkOXCKPbA9HIaI0wpZMHEBjGD7UTf52QtLD4Cv
0rwgGqAR1qzUw4ijzwYm+s/YNbm9Ecn22cmRIvk5ZGGbWu+q2Y+9+b/sCbgr2EQP
lWkxT8qF/sNw9MVhwrnu2FpimL0IaZ9iKSPGSzbsoaBm4M86STGPYXrIaycq6i3u
17Dqvv3U26R08AEw/5thZFwazOMj305M0CjqkyvNGCosKHG+FrHIgK4hgNmB5vGe
T11RkfSRq15s+TRgcvjIYrPmtrcXB11+WBzI2K/nSQOnjCENYx2oBKRSBILwhuaC
TQedJRXhwAp32VO3Hojb
=TpUb
-----END PGP SIGNATURE-----
Seek to beginning of file before reading
2016-01-18 19:35:35 +01:00
927205dfcc
Fix test: lazy_file_with_file
2016-01-18 18:30:55 +01:00
Marcel Müller
9d0afade98
iQIcBAABCgAGBQJWnR7yAAoJEN1O030MrHbien4P/2ixFj7HRpWLZDARUTOy1f0I
...
E/WY5FhCD5Nx2EAu1urJhZORwAeOyJurQVjoSC8FfcayK87Co3Hw9bt9CDB5uIxt
aQlkA5YkamSlL1FQlOmcEqBUBISGmRtXB89zWeDWscRTrHb9pAPFZmrKpnklfa5r
Lye3dAT7yrpTsPp2HxY2ojw5qHRb5Ojp57SKvAX27bYyEjk8PIREC2ZIgk08Mw1h
kmx2QsIvWKGGTkOoBj/Lw+rL1aW+b6E6VdVngeZ04l9qU+3JOtHUkFyfvaiJvf7V
0HDiQIEHDjLCeZwvjVgzxBxQE/pANpMtno6y3LF99FdgfQtQy6hswaUpMilk2N9X
Mq+kZ1bWaz6Q2Oo3GSFhWeAOgM/en1MHuxRQhjUMZVxp1tsqLo3piq5Ywi1kg/yR
Dsxvw/AmQbkV8S77RhbIN+aRbSg6kBs6QmaAy4fVB4f+fnp6WKHIZ4yselZMtwUI
AHVsXCvlQwmDm4BG4khJfKEd36x9hJAWnpKkNCprGhedN8QRgV7GmHZ4b3LBtODB
UI338SX6ZyZmnYQV3mNgJ5mvzffnjZF0xup5rMLOg3SyNjKoirjYdlbb2SH7tNLp
+EwBIJGCaFbiVFRoh1iHTvxtbKj218NPjP6ZU+UowBM5mlysRpVtCAYVGPprl+u7
aOtLp8WQDjnf8ysBL5pk
=ZLhc
-----END PGP SIGNATURE-----
Use tempdir in tests
2016-01-18 18:20:50 +01:00
Marcel Müller
6a3429d759
iQIcBAABCgAGBQJWnRoNAAoJEN1O030MrHbiYzMQALA2R/WccyxqsOs0A1i/wUdp
...
saz250bgtXUJ0DKqGRM25+P0idJuIW2/nuOqqAYQ3uWNDxj4oLR21vkGstCO9xvk
FZ/UARQ3MK8KF0OFRRb+ESTOixtNn2oEaiJuxwdRDG7I3z7YTiijwYM9uTGhFNqD
Hkkm+X5Hsh9GvxzSN+yEX2Vrvgv9WIerfhyOWBNgK6VKmneX7CNFl3/2E5U152+O
Nsfd6eeJ5JnMlpmzCiIJyfsT1Bf8ITr8MZpvQJ8dW5Ozgbg5N931NOLoVSMGkNPD
D1I9XtQX5C8KJmvoBecMZOIurghGSJ4VTM9mOEd6X+AW3fhRoeX6GbNFptQr/UAk
TfX0nBZxeHvwOLQR+kMNQZ5dmfnmC0VEZFtlxLu22fngOWz80wxPRc3W9/4iWnQg
OfjfnZkP0NUCPDXbsTnB42MyZA3Ff4t52Lq0qGSVHGTHcwm8WQA3je/oztJ18w9S
6UysUMbICMo2/OzVKK9OF3i50uLz0JEE9MVLtjmMQ3LrjN5I7qoZ0e5xDTQS6rnf
Cwt8JsjJbPAk9ynsvjKgom3Q5rPGq3zyrTtViQ025jww5lie0l7dVlenTFvCa95s
PyKZ64dHGuD0iPEeodVZgSW7KC7F0UNeBSO1fawZ8eYYVlWMk4K2EgcCQPX3ReRB
ZXebnEZoWqiL4XmZzHb4
=wpl6
-----END PGP SIGNATURE-----
Add tempdir to Cargo.toml
2016-01-18 17:59:57 +01:00
Marcel Müller
5d3cb4a3af
iQIcBAABCgAGBQJWnRh+AAoJEN1O030MrHbiUHQQAJ3bhzz4O7qytq9X4WUkW80W
...
A+Dk5Oyzm4QajdMDw1lW+FJT1LHAA4q14nTKTZlCZKT0doxZYbQENrBjzhAQaKin
kIZSrCmKulziAVLIuXGq9wmaz6CJ4kHb+GWlC82U575yIb8XBpqpIjUAwboP9xZk
xHaGT8l9+KPMUCXd9zU3KCJHg3ZO3ckOJm0gmG4JvmvaUX+r38cgO3zwRPpdVLVW
cnQ/aPLkaeLfP2auSdRDeVOkhcl5uWgdQcvnqTkPUb+gQUXV01WpqzoxmVhEPVv1
kLWIGRzFEmxrNadAqJTC9AE5DBnoRM7/cge2QZ9vVtJsdcwRYwjw4qSunvPAusdb
lXmA0+1aJPpkGMHVywNBHYq5fR89etrQBZ3Roz9LAp2eKNAsXyJYg0CT6PgzmEhp
cPVOCHizXWwCLFRZI0zn9WSWS9EFm0H2FJDGfSDAoNPyO2RAmtu+8tXU+vgwvox+
B3j5jEQmF8c8A+SE0Qeh7IloQWMXCfnJrgeo7sbhYq8w0WPTLhiX7BEtu3K3Nvi6
bG00BHihvOD2wu1DiTIzPTJkP3rMK4VD6sZmXSUFjEVtzn1rN9l2hYjkyMQj/xlG
RATEMP4TvB/eVktfZ+nFr5XtGGFAY1hsVBd5FnV874J6OHGD6zqt21lgxGCF0MUw
cwqyKk6K+l6Ljf8UAdvx
=Ni+I
-----END PGP SIGNATURE-----
Add file creation
2016-01-18 17:53:18 +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
Julian Ganz
bcebe86546
Add new error type for low-level file system errors
2016-01-17 18:45:26 +01:00
Julian Ganz
78701c7332
Add error type for communicating that an entry is locked
...
We need this error type to let the user know when she is trying to
remove an item which is currently edited.
2016-01-17 18:45:26 +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
5b1af2bebd
Add missing Debug, Clone impl
2016-01-16 19:16:41 +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
5289547873
Add missing method retrieve_copy
2016-01-16 18:25:22 +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
43b6dbec3e
Pull in the modules in lib.rs
2016-01-16 15:03:24 +01:00
86e7dde4b7
Derive Debug for StoreError
2016-01-16 14:29:09 +01:00
f36615940a
Do not impl Debug but derive
2016-01-16 14:26:29 +01:00
0ace28897f
derive Copy in StoreErrorKind
2016-01-16 14:18:49 +01:00
e7c43c2c9d
Rename: StoreErrorType -> StoreErrorKind
2016-01-16 14:09:34 +01:00
e467c1e8ec
Remove StoreError::expl member
2016-01-16 14:08:39 +01:00
b74e0f713f
Remove From<StoreErrorType> for String and provide private helper for that functionality
2016-01-16 14:06:55 +01:00
791995f8fc
Remove "Unknown" error type
2016-01-16 13:50:10 +01:00
180eab2652
Pass error members on ::new()
2016-01-16 13:39:53 +01:00
48c3cc5f5d
Introduce StoreErrorType enum for simple Error type identification
2016-01-16 13:36:19 +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
Julian Ganz
6c2962efe9
Add trait for single unlocking of an item
...
Add a trait serving a lock which features only an irreversible unlocking
of an item. Such a type may be used to pass around locked items while
permitting the user to unlock them and perform any operation with a copy
of the original item.
2016-01-16 06:58:30 +01:00
3f20028bac
Add interface impl for FSStore
2016-01-13 22:04:06 +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
92f03edf2b
Add extern crate fs2
2016-01-13 21:48:24 +01:00
9845a3354e
Add dep: fs2 = 0.2.2
2016-01-13 21:48:18 +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
33f097d662
Add Entry type for store
2016-01-12 18:52:47 +01:00
39fab39f97
Add modules in lib.rs
2016-01-12 18:52:47 +01:00
b1ace253c8
Add Store type for store
2016-01-12 18:52:47 +01:00
f198c5d125
Add EntryContent type for store
2016-01-12 18:52:40 +01:00
4640ae8963
Add error type for store
2016-01-12 18:52:40 +01:00
ac1dd3e7f3
Add EntryHeader type for store
2016-01-12 18:52:34 +01:00
a6cc103584
Add dep: toml
2016-01-12 18:10:16 +01:00
f35029a3d0
Add: libimagstore
2016-01-09 23:51:31 +01:00