projects
/
cumulus.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Initial support for filtering TAR files through an external program.
[cumulus.git]
/
store.h
diff --git
a/store.h
b/store.h
index
1ef5db4
..
aa96160
100644
(file)
--- a/
store.h
+++ b/
store.h
@@
-49,10
+49,11
@@
public:
Tarfile(const std::string &path, const std::string &segment);
~Tarfile();
Tarfile(const std::string &path, const std::string &segment);
~Tarfile();
+ int spawn_filter(int fd_out);
void write_object(int id, const char *data, size_t len);
// Return an estimate of the size of the file.
void write_object(int id, const char *data, size_t len);
// Return an estimate of the size of the file.
- size_t size_estimate()
{ return size; }
+ size_t size_estimate()
;
void internal_write_object(const std::string &path,
const char *data, size_t len);
void internal_write_object(const std::string &path,
const char *data, size_t len);
@@
-61,6
+62,10
@@
private:
size_t size;
std::string segment_name;
TAR *t;
size_t size;
std::string segment_name;
TAR *t;
+
+ /* Filter support. */
+ int real_fd, filter_fd;
+ pid_t filter_pid;
};
class TarSegmentStore {
};
class TarSegmentStore {