Instead of allocating a struct per hashtable entry, put multiple hash_entry fields in `dhc_relay_t`. More than reducing allocation overhead this simplifies the lifecycle of your allocations.