Commit Graph

533 Commits

Author SHA1 Message Date
Alexander Neumann b762a342d3 SaveJSON: use streams 2015-02-16 00:24:58 +01:00
Alexander Neumann fb2cd7b485 HashingWriter: Track size 2015-02-16 00:24:43 +01:00
Alexander Neumann b816192d1c backend: Throw error when Close() is called twice 2015-02-16 00:24:02 +01:00
Alexander Neumann 259389f7d1 EncryptWriter: do not close underlying writer 2015-02-16 00:22:46 +01:00
Alexander Neumann 68911ef11d server: use streams for LoadJSON*() 2015-02-15 23:49:06 +01:00
Alexander Neumann 907d401e32 backend: use HashingWriter 2015-02-15 23:46:21 +01:00
Alexander Neumann 3dbe02182b Remove EncryptFrom*() methods, add Tests for EncryptTo() 2015-02-15 23:38:45 +01:00
Alexander Neumann 5c724b92b8 Add HashingWriter and HashAppendWriter 2015-02-15 23:21:35 +01:00
Alexander Neumann 5801d9f42f Add EncryptTo() methods 2015-02-15 18:13:42 +01:00
Alexander Neumann 72c951a6ec Simply backend interface
Rename CreateBlob() method to Create(), remove old Create* methods
2015-02-15 17:26:20 +01:00
Alexander Neumann 35636a9d92 Introduce CreateBlob() method for backend 2015-02-15 17:09:49 +01:00
Alexander Neumann f8f8107d55 wip 2015-02-15 15:17:24 +01:00
Alexander Neumann 2f1137bac4 Add pipe package 2015-02-15 15:09:26 +01:00
Alexander Neumann 937c91e1cf Add gofmt test to wercker.yml 2015-02-15 15:07:43 +01:00
Alexander Neumann 59cfc4bd03 Slightly improve performance for chunker
benchcmp output:

benchmark                      old ns/op     new ns/op     delta
BenchmarkChunkerWithSHA256     151752169     148072829     -2.42%
BenchmarkChunkerWithMD5        97166433      93357090      -3.92%
BenchmarkChunker               77265146      73642723      -4.69%

benchmark                      old MB/s     new MB/s     speedup
BenchmarkChunkerWithSHA256     69.10        70.81        1.02x
BenchmarkChunkerWithMD5        107.92       112.32       1.04x
BenchmarkChunker               135.71       142.39       1.05x

benchmark                      old allocs     new allocs     delta
BenchmarkChunkerWithSHA256     15             13             -13.33%
BenchmarkChunkerWithMD5        14             12             -14.29%
BenchmarkChunker               8              6              -25.00%

benchmark                      old bytes     new bytes     delta
BenchmarkChunkerWithSHA256     262924        26821         -89.80%
BenchmarkChunkerWithMD5        262774        13554         -94.84%
BenchmarkChunker               262678        13458         -94.88%
2015-02-13 20:03:40 +01:00
Alexander Neumann 0f36b19a4c Update Server to match new Backend interface 2015-02-11 22:46:40 +01:00
Alexander Neumann 92e2647505 Add tests for sftp backend, split out id tests 2015-02-11 20:17:55 +01:00
Alexander Neumann 6c68150e45 Add streaming functions to mockBackend 2015-02-11 20:01:01 +01:00
Alexander Neumann 89bf88df7a Add streaming methods to interface 2015-02-11 19:55:23 +01:00
Alexander Neumann fdbe2f0c2d Implement streaming methods for sftp backend 2015-02-11 19:55:11 +01:00
Alexander Neumann 0a45ec1d3a Implement streaming functions for local backend 2015-02-11 19:50:29 +01:00
Alexander Neumann 64f7b4e5e9 Rename HashReader -> HashAppendReader, add HashingReader 2015-02-11 19:37:48 +01:00
Alexander Neumann 842dea173c Generalize hash in backend 2015-02-11 19:25:43 +01:00
Alexander Neumann 5f0cce8546 Move HashReader to backend 2015-02-11 19:20:45 +01:00
Alexander Neumann a564a454c4 Add stream functions for decrypt 2015-02-11 18:36:31 +01:00
Alexander Neumann c6901af5aa Add streaming encrypt functions 2015-02-11 18:05:43 +01:00
Alexander Neumann 93abaf204a Fix get_random for count != 4k, add randomReader() 2015-02-11 17:38:51 +01:00
Alexander Neumann 3bf66d24fa chunker: Add test, only pass hash.Hash to New() 2015-02-11 13:12:36 +01:00
Alexander Neumann 869ba83c6d Add Benchmarks for Scanner and Archiver 2015-02-10 21:59:18 +01:00
Alexander Neumann 9fcd23bd38 Add parallel benchmark for chunk+encrypt 2015-02-09 23:39:16 +01:00
Alexander Neumann bbb3145f11 Add chunker pool 2015-02-09 23:38:50 +01:00
Alexander Neumann 3daeee8e2c Make chunker resettable 2015-02-09 23:37:33 +01:00
Alexander Neumann bda33e612c Implement streaming chunker using io.Reader 2015-02-09 00:28:54 +01:00
Alexander Neumann a5c33d80d8 Chunker: remove pool, buf and make bufsize an option 2015-02-08 19:32:12 +01:00
Alexander Neumann 8dc5c2296a debug: do not seek after creating log file 2015-02-08 14:46:29 +01:00
Alexander Neumann c884704bce Refactor pool stats 2015-02-08 13:46:51 +01:00
Alexander Neumann d5dccd746e Progress: Add convenience functions 2015-02-07 17:05:49 +01:00
Alexander Neumann 7558e99dd5 Add newline to debug output 2015-02-07 17:04:20 +01:00
Alexander Neumann 57b8373bc9 Progress: Rename functions, fix documentation 2015-02-07 15:27:09 +01:00
Alexander Neumann 2b7af4a1c1 tree: Add concurrent traversing functions 2015-02-04 22:36:49 +01:00
Alexander Neumann 316e761f27 fsck: Check minimal set of blobs 2015-02-04 22:33:48 +01:00
Alexander Neumann d44eb9d794 Always cast link counter to uint64 2015-02-03 22:06:17 +01:00
Alexander Neumann 84ad6cf4d2 Return error on backup 2015-02-03 22:05:46 +01:00
Alexander Neumann 26d3949c8b Use file size from FileInfo 2015-02-03 22:05:25 +01:00
Alexander Neumann bb777d9a58 Introduce UserID, GroupID for snapshot
Use the fields UID and GID for Unix user and group ID, and the fields
UserID and GroupID for Windows user and group strings.
2015-02-03 22:04:09 +01:00
Alexander Neumann d1fee28ae5 Extend darwin support 2015-02-03 21:32:01 +01:00
Alexander Neumann b7b9c7750d Merge branch 'support-other-platforms' 2015-02-03 21:19:02 +01:00
Alexander Neumann 1da693a7d7 Move platform specific code to different files 2015-02-03 21:18:19 +01:00
Alexander Neumann 460ebebeef Split out Node and Blob from tree.go 2015-02-03 21:07:55 +01:00
Alexander Neumann 79e065596f Make CreateAtNodeAt() independend from Tree 2015-02-03 21:04:51 +01:00