On 15.06.2011 10:25, Julian Foad wrote:
Stefan2, I'm posting this attempt to add more detail to some of the FSFS
caching doc strings.  It's incomplete but I've had this sitting in my WC
for a couple of weeks now and am unlikely to look deeper in the short
term.
Thanks for the suggestions!
[[[
Index: subversion/libsvn_fs_fs/fs.h
===================================================================
--- subversion/libsvn_fs_fs/fs.h        (revision 1135952)
+++ subversion/libsvn_fs_fs/fs.h        (working copy)
@@ -238,8 +238,12 @@ typedef struct fs_fs_data_t
       rep key to svn_string_t. */
    svn_cache__t *fulltext_cache;

-  /* Pack manifest cache; maps revision numbers to offsets in their respective
-     pack files. */
+  /* Pack manifest cache; a cache mapping (svn_revnum_t) shard number to
+     a manifest; and a manifest is a mapping from (svn_revnum_t) revision
+     number offset within a shard to (apr_off_t) byte-offset in the
+     respective pack file.
+     ### Is this right?
Spot on.
+    */
    svn_cache__t *packed_offset_cache;

    /* Cache for txdelta_window_t objects; the key is (revFilePath, offset) */
Index: subversion/libsvn_fs_fs/temp_serializer.h
===================================================================
--- subversion/libsvn_fs_fs/temp_serializer.h   (revision 1135952)
+++ subversion/libsvn_fs_fs/temp_serializer.h   (working copy)
@@ -93,8 +93,8 @@ svn_fs_fs__deserialize_txdelta_window(vo
                                        apr_pool_t *pool);

  /**
- * Implements #svn_cache__serialize_func_t for manifests
- * (#apr_array_header_t).
+ * Implements #svn_cache__serialize_func_t for a manifest
+ * (@a in is an #apr_array_header_t of apr_off_t elements).
   */
  svn_error_t *
  svn_fs_fs__serialize_manifest(char **data,
@@ -103,8 +103,8 @@ svn_fs_fs__serialize_manifest(char **dat
                                apr_pool_t *pool);

  /**
- * Implements #svn_cache__deserialize_func_t for manifests
- * (#apr_array_header_t).
+ * Implements #svn_cache__deserialize_func_t for a manifest
+ * (@a *out is an #apr_array_header_t of apr_off_t elements).
   */
  svn_error_t *
  svn_fs_fs__deserialize_manifest(void **out,
@@ -167,8 +167,13 @@ svn_fs_fs__deserialize_dir_entries(void
                                     apr_pool_t *pool);

  /**
- * Implements #svn_cache__partial_getter_func_t for a single element
- * identified by its offset in @a baton within a serialized manifest array.
+ * Implements #svn_cache__partial_getter_func_t.
+ * Set @a *out to the (apr_off_t) byte-offset within a pack file of the
+ * revision
+ * Set (apr_off_t) @a *out to the element
+ * indexed by (apr_int64_t) @a *baton within the serialized manifest array
+ * @a data and @a data_len.
+ * ### Caller thinks *out is apr_off_t; impl thinks it is apr_int64_t.
   */
Fixed in r1139945.
  svn_error_t *
  svn_fs_fs__get_sharded_offset(void **out,
@@ -180,7 +185,7 @@ svn_fs_fs__get_sharded_offset(void **out
  /**
   * Implements #svn_cache__partial_getter_func_t for a single
   * #svn_fs_dirent_t within a serialized directory contents hash,
- * identified by its name in @a baton.
+ * identified by its name (const char @a *baton).
   */
  svn_error_t *
  svn_fs_fs__extract_dir_entry(void **out,
]]]

- Julian
Docstring changes committed as r1139946.

-- Stefan^2.

Reply via email to