Commit graph

7 commits

Author SHA1 Message Date
Alexander Neumann
55ddd5317d Reduce memory usage for fuse mount
This changes `repository.LoadBlob()` so that a destination buffer must
be provided, which enables the fuse code to use a buffer from a
`sync.Pool`. In addition, release the buffers when the file is closed.
At the moment, the max memory usage is defined by the max file size that
is read in one go (e.g. with `cat`). It could be further optimized by
implementing a LRU caching scheme.
2015-07-26 14:25:59 +02:00
Alexander Neumann
5cdcc99eba Use array instead of hash for backend.ID
Since backend.ID is always a slice of constant length, use an array
instead of a slice. Mostly, arrays behave as slices, except that an
array cannot be nil, so use `*backend.ID` insteaf of `backend.ID` in
places where the absence of an ID is possible (e.g. for the Subtree of a
Node, which may not present when the node is a file node).

This change allows to directly use backend.ID as the the key for a map,
so that arbitrary data structures (e.g. a Set implemented as a
map[backend.ID]struct{}) can easily be formed.
2015-07-25 18:01:57 +02:00
Alexander Neumann
885b27fdbb Add test and benchmark for LoadIndex 2015-07-05 11:07:10 +02:00
Alexander Neumann
9a02148daf repository: Rename Save() -> SaveAndEncrypt() 2015-07-05 11:07:10 +02:00
Alexander Neumann
26e4d2e019 tests: Remove more flags 2015-06-28 13:52:22 +02:00
Alexander Neumann
189a33730a tests: Standardize use of SetupRepo/Teardown 2015-06-28 13:52:22 +02:00
Alexander Neumann
232c472836 Move package 'repo' to package 'repository' 2015-05-09 23:52:03 +02:00
Renamed from repo/repository_test.go (Browse further)