Add an internal API to stream content objects
For future delta work where we do more interesting things than just "tar of new objects", this lays the groundwork for doing streaming writes into content objects. It's also more efficient, as we avoid many intermediate allocations and virtual calls. Just a single `g_output_stream_write_all` for the splice case. Conflicts: src/libostree/ostree-repo-private.h src/libostree/ostree-repo-static-delta-processing.c
This commit is contained in:
1 parent
65afe1110d
commit
247866a9bc
2 files changed
+155
-49
No files matched your search
@@ -194,4 +194,30 @@ _ostree_repo_gpg_verify_file_with_metadata (OstreeRepo *self,
|
||||
GCancellable *cancellable,
|
||||
GError **error);
|
||||
|
||||
typedef struct {
|
||||
int fd;
|
||||
char *temp_filename;
|
||||
} OstreeRepoTrustedContentBareCommit;
|
||||
|
||||
gboolean
|
||||
_ostree_repo_open_trusted_content_bare (OstreeRepo *self,
|
||||
const char *checksum,
|
||||
guint64 content_len,
|
||||
OstreeRepoTrustedContentBareCommit *out_state,
|
||||
GOutputStream **out_stream,
|
||||
gboolean *out_have_object,
|
||||
GCancellable *cancellable,
|
||||
GError **error);
|
||||
|
||||
gboolean
|
||||
_ostree_repo_commit_trusted_content_bare (OstreeRepo *self,
|
||||
const char *checksum,
|
||||
OstreeRepoTrustedContentBareCommit *state,
|
||||
guint32 uid,
|
||||
guint32 gid,
|
||||
guint32 mode,
|
||||
GVariant *xattrs,
|
||||
GCancellable *cancellable,
|
||||
GError **error);
|
||||
|
||||
G_END_DECLS
|
||||
Reference in new issue
Block a user