[Devel] tcp keepalive question
Dan Pascu
dan at ag-projects.com
Tue Dec 19 14:21:31 CET 2006
On Tuesday 19 December 2006 14:06, Juha Heinanen wrote:
> Dan Pascu writes:
> > IMO, OpenSER's architecture is well suited for UDP clients and at
> > most some TCP/TLS peers. But even in this case if a peer is down and
> > there are many connection towards that peer, again many TCP workers
> > will be blocked, and other TCP peers cannot be handled meanwhile.
>
> dan,
>
> how does this differ from the case where UDP UAS is down and does not
> respond and openser tm module keep re-sending the request until timeout
> occurs?
On second thought, in OpenSER's case since it has asymmetric processing
for requests/replies, the issue can be solved without an event reactor
based architecture by marking the connections as non-blocking and if
OpenSER gets a WOULD_BLOCK error to a write attempt, it can return a
negative reply immediately as it knows the connection is down (and I
would guess it already does this).
Sorry for the confusion. I was thinking of a standard TCP channel that
unlike UDP may block on write and where a request is met by a reply
immediately, and if the reply doesn't come the connection will return
only after a timeout. But in our case I guess we can ignore this as we do
not have to wait for the answer right away as it will be processed later
by another worker.
I would say that in this case, given the asymmetric processing of requests
and replies, the event reactor is somehow implicit in the design.
So please forget the issue I raised. I was thinking of a different
scenario that doesn't apply in OpenSER's case.
--
Dan
More information about the Devel
mailing list