Context: Hazel listener uses a single thread for pulling UDP receives and n-threads for processing the receive message data. However, the DTLS layer intercepts the message processing before the work load is distributed to the pool of threads. DTLS processing is a heavy operation and having all incoming messages undergo DTLS processing on the same thread is poor for performance and scalability.
This change distributes the DTLS processing layer across the n-threads dedicated for processing receive message data.
Context: Hazel listener uses a single thread for pulling UDP receives and n-threads for processing the receive message data. However, the DTLS layer intercepts the message processing before the work load is distributed to the pool of threads. DTLS processing is a heavy operation and having all incoming messages undergo DTLS processing on the same thread is poor for performance and scalability.
This change distributes the DTLS processing layer across the n-threads dedicated for processing receive message data.