The original client & server of shadow-tls are based on monoio, which is great, and i recommend you to give it a shot if your project is not dependent of tokio or other epoll based runtimes.
This client is mostly built for learning purpose, but I have also finished the unittest in the original shadow-tls repo, so it should be fine to try it in the development env, but have the code fully tested before applying to the production env