space88man left a comment (kamailio/kamailio#4800)

@abalashov - I absolutely hear your concerns - may I gently push What is the 
purpose of this in the first place?

The goal is to consider the viability of a reactor style IO (by this I mean all 
network is confined to one process including OpenSSL) while being well aware 
that SIP processing has to be farmed out to all the workers.

For robust use of OpenSSL we have to trampoline all OpenSSL calls to a central 
process - but this begs the question - why then not just do all network IO in 
that process? 

In fact you would observe that on the SSL read path today (tcp_main_threads > 
0) **all** reads go through PROC_TCP_MAIN (via mtops and the `_tcond(...)` 
macro) - so the socket clone in the TCP workers is used only for io_wait 
notification and then we ask PROC_TCP_MAIN to do the real read. So we are 
already doing all read IO in PROC_TCP_MAIN. 

This is a strange asymmetry - on TCP we read in the worker and on TLS we read 
in PROC_TCP_MAIN. 

This PR takes this to its logical extreme by centralising all IO in 
PROC_TCP_MAIN.

Each commit is designed to compile and run in fd-passing mode to cause no 
regression in kamailio fd-passing mode. 





-- 
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4800#issuecomment-4856029540
You are receiving this because you are subscribed to this thread.

Message ID: <kamailio/kamailio/pull/4800/[email protected]>
_______________________________________________
Kamailio - Development Mailing List -- [email protected]
To unsubscribe send an email to [email protected]
Important: keep the mailing list in the recipients, do not reply only to the 
sender!

Reply via email to