echash_track_versioning

March 26, 2020 Contributors

Name

echash_track_versioning — Enable versioning on a hash table

Synopsis

#include "echash.h"

| void **echash_track_versioning** ( | h); |   |

ec_hash_table * <var class="pdparam">h</var>;

Description

Enable versioning on a hash table. When versioning is enabled, each change to the content of the hash will cause the version field of the hash table to change. For a description of this data structure see “ec_hash_table”.

The version field is a nearly unique counter that will allow you cheaply determine if a hash table has changed its contents since you last looked at it and recorded its version number.

Since the version counter is a global variable, it is guaranteed that no two hash tables can have the same version number, provided that they are both relatively short lived—it is possible to roll the counter but this should take a very long time to occur.

Parameters

h

The ec_hash_table.

Return Value

This function returns void.

Threading

It is legal to call this function in any thread.