Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CK_HT_PUT_SPMC(3)	 BSD Library Functions Manual	     CK_HT_PUT_SPMC(3)

NAME
     ck_ht_put_spmc -- store unique key-value pair into	hash table

LIBRARY
     Concurrency Kit (libck, -lck)

SYNOPSIS
     #include <ck_ht.h>

     bool
     ck_ht_put_spmc(ck_ht_t *ht, ck_ht_hash_t h, ck_ht_entry_t *entry);

DESCRIPTION
     The ck_ht_put_spmc() function will	store the key-value pair specified in
     the entry argument	in the hash table pointed to by	the ht argument. The
     key specified in entry is expected	to have	the hash value specified by
     the h argument.

     If	ht was created with CK_HT_MODE_BYTESTRING then entry must have been
     initialized with the ck_ht_entry_set(3) function. If ht was created with
     CK_HT_MODE_DIRECT then entry must have been initialized with the
     ck_ht_entry_set_direct(3) function.

     It	is expected that h was initialized with	ck_ht_hash(3) if ht was	cre-
     ated with CK_HT_MODE_BYTESTRING. If ht was	initialized with
     CK_HT_MODE_DIRECT then it is expected that	h was initialized with the
     ck_ht_hash_direct(3) function.

     If	the call to ck_ht_put_spmc() was successful then the key-value pair in
     entry was successfully stored in the hash table pointed to	by ht and will
     fail if the key specified in entry	already	exists with-in the hash	table.
     Replacement semantics are provided	by the ck_ht_set_spmc(3) function.

     This function is safe to call in the presence of concurrent
     ck_ht_get_spmc(3) operations.

RETURN VALUES
     Upon successful completion	ck_ht_put_spmc() returns true and otherwise
     returns false on failure.

ERRORS
     Behavior is undefined if entry or ht are uninitialized. The function will
     return false if the hash table required to	be grown but failed while at-
     tempting to grow or if the	key specified in entry was already present in
     the hash table.

SEE ALSO
     ck_ht_stat(3), ck_ht_init(3), ck_ht_destroy(3), ck_ht_hash(3),
     ck_ht_hash_direct(3), ck_ht_set_spmc(3), ck_ht_gc(3), ck_ht_get_spmc(3),
     ck_ht_grow_spmc(3), ck_ht_remove_spmc(3), ck_ht_reset_spmc(3),
     ck_ht_reset_size_spmc(3), ck_ht_count(3), ck_ht_entry_empty(3),
     ck_ht_entry_key_set(3), ck_ht_entry_key_set_direct(3),
     ck_ht_entry_key(3), ck_ht_entry_key_length(3), ck_ht_entry_value(3),
     ck_ht_entry_set(3), ck_ht_entry_set_direct(3), ck_ht_entry_key_direct(3),
     ck_ht_entry_value_direct(3), ck_ht_iterator_init(3), ck_ht_next(3)

     Additional	information available at http://concurrencykit.org/

				March 29, 2012

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=ck_ht_put_spmc&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help