summaryrefslogtreecommitdiff
path: root/subversion/libsvn_fs_fs/temp_serializer.h
diff options
context:
space:
mode:
Diffstat (limited to 'subversion/libsvn_fs_fs/temp_serializer.h')
-rw-r--r--subversion/libsvn_fs_fs/temp_serializer.h57
1 files changed, 54 insertions, 3 deletions
diff --git a/subversion/libsvn_fs_fs/temp_serializer.h b/subversion/libsvn_fs_fs/temp_serializer.h
index 1009d63..4d14b01 100644
--- a/subversion/libsvn_fs_fs/temp_serializer.h
+++ b/subversion/libsvn_fs_fs/temp_serializer.h
@@ -49,9 +49,42 @@ void
svn_fs_fs__noderev_deserialize(void *buffer,
node_revision_t **noderev_p);
+
+/**
+ * Adds position information to the the raw window data in WINDOW.
+ */
+typedef struct
+{
+ /* the (unprocessed) txdelta window byte sequence cached / to be cached */
+ svn_string_t window;
+
+ /* the offset within the representation right after reading the window */
+ apr_off_t end_offset;
+} svn_fs_fs__raw_cached_window_t;
+
+/**
+ * Implements #svn_cache__serialize_func_t for
+ * #svn_fs_fs__raw_cached_window_t.
+ */
+svn_error_t *
+svn_fs_fs__serialize_raw_window(void **buffer,
+ apr_size_t *buffer_size,
+ void *item,
+ apr_pool_t *pool);
+
+/**
+ * Implements #svn_cache__deserialize_func_t for
+ * #svn_fs_fs__raw_cached_window_t.
+ */
+svn_error_t *
+svn_fs_fs__deserialize_raw_window(void **item,
+ void *buffer,
+ apr_size_t buffer_size,
+ apr_pool_t *pool);
+
/**
* #svn_txdelta_window_t is not sufficient for caching the data it
- * represents because data read process needs auxilliary information.
+ * represents because data read process needs auxiliary information.
*/
typedef struct
{
@@ -159,7 +192,7 @@ svn_fs_fs__deserialize_node_revision(void **item,
apr_pool_t *pool);
/**
- * Implements #svn_cache__serialize_func_t for a directory contents hash
+ * Implements #svn_cache__serialize_func_t for a directory contents array
*/
svn_error_t *
svn_fs_fs__serialize_dir_entries(void **data,
@@ -168,7 +201,7 @@ svn_fs_fs__serialize_dir_entries(void **data,
apr_pool_t *pool);
/**
- * Implements #svn_cache__deserialize_func_t for a directory contents hash
+ * Implements #svn_cache__deserialize_func_t for a directory contents array
*/
svn_error_t *
svn_fs_fs__deserialize_dir_entries(void **out,
@@ -226,6 +259,24 @@ svn_fs_fs__replace_dir_entry(void **data,
apr_pool_t *pool);
/**
+ * Implements #svn_cache__serialize_func_t for a #svn_fs_fs__rep_header_t.
+ */
+svn_error_t *
+svn_fs_fs__serialize_rep_header(void **data,
+ apr_size_t *data_len,
+ void *in,
+ apr_pool_t *pool);
+
+/**
+ * Implements #svn_cache__deserialize_func_t for a #svn_fs_fs__rep_header_t.
+ */
+svn_error_t *
+svn_fs_fs__deserialize_rep_header(void **out,
+ void *data,
+ apr_size_t data_len,
+ apr_pool_t *pool);
+
+/**
* Implements #svn_cache__serialize_func_t for an #apr_array_header_t of
* #change_t *.
*/