我正在尝试使用过滤器计算HDF5数据集(例如SHA-256)的哈希值。但与我到目前为止看到的filter examples不同,我不仅希望将哈希与块一起存储并稍后再检查。
我计划在写入时将块标记为已更改,然后将计算后的哈希值用作另一个哈希值的输入(从而聚合完整数据集的哈希值)。
有没有办法在过滤器函数中看到当前写入了哪个块?回调函数的声明看起来像
size_t my_filter(unsigned int flags, size_t cd_nelmts,
const unsigned int cd_values[], size_t nbytes,
size_t *buf_size, void **buf) {
...
}
我的印象是,只能访问注册过滤器时给出的原始值和一些值。
如果是,是否实际允许从过滤器回调函数访问(读/写)其他数据集?