Reference Guide C API www.spreadconcepts.com


Programmer's Reference Guide
Replicated Hash Table
Version 2.0


Notes

The RHT library is unaware of any internal structure in the keys and values it stores and exactly replicates (byte-for-byte) inserted keys and values at each of a rht's replicas. The user specifies how keys should be locally compared to one another at replica creation through rht_create. By default, the total size of each key-value pair inserted into the dictionary must be smaller than approximately 100KB. To alter this compile-time limitation, please contact Spread Concepts.

Of all the rht_* functions, only rht_strerror is completely non-blocking. All of the other function calls can block based on thread contention over a lock and/or network I/O. In particular, the query functions (rht_size, rht_get, etc.) will, by default, block until any previous updates (inserts or deletes) generated at this replica have been incorporated into the rht. This enforces causality.

For example, if a thread puts a key-value pair into a replica and then takes a snapshot, then any remaining effect of that put update will be reflected in the returned snapshot. This functionality can be overridden if such causality is not necessary by specifying the RHT_DIRTY_READ flag in the function call.



Copyright © 2004, Spread Concepts LLC, All rights reserved