diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-08-05 16:22:51 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-08-05 16:22:51 +0000 |
commit | cf46733632c7279a9fd0fe6ce26f9185a4ae82a9 (patch) | |
tree | da27775a2161723ef342e91af41a8b51fedef405 /subversion/libsvn_fs_fs/temp_serializer.h | |
parent | bb0ef45f7c46b0ae221b26265ef98a768c33f820 (diff) | |
download | subversion-tarball-master.tar.gz |
subversion-1.9.7HEADsubversion-1.9.7master
Diffstat (limited to 'subversion/libsvn_fs_fs/temp_serializer.h')
-rw-r--r-- | subversion/libsvn_fs_fs/temp_serializer.h | 57 |
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 *. */ |