+ GNUNET_assert (NULL != cache);
+ if (cache_size == GNUNET_CONTAINER_multihashmap32_size (cache))
+ {
+ /* remove the LRU head */
+ entry = cache_head;
+ GNUNET_assert (GNUNET_OK ==
+ GNUNET_CONTAINER_multihashmap32_remove (cache, (uint32_t)
+ entry->peer_id,
+ entry));
+ free_entry (entry);
+ }
+ entry = GNUNET_new (struct CacheEntry);