Allow the server to listen on multiple TCP sockets
--------------------------------------------------

                 Key: CORE-5219
                 URL: http://tracker.firebirdsql.org/browse/CORE-5219
             Project: Firebird Core
          Issue Type: Improvement
    Affects Versions: 4.0 Initial
         Environment: any
            Reporter: Michal Kubeček
            Priority: Minor


Currently, Firebird server can use only one listening TCP socket which can 
listen either on zero address (and accept connections to any  of host's 
addresses) or on address specified by RemoteBindAddress directive. It cannot 
listen on a subset  of addresses which becomes restricting with IPv6 support as 
we cannot let the server listen on e.g. :: and 127.0.0.1 without letting it 
accept connections to any address. I played with it a bit while working on IPv6 
support and I came with two approaches:

1. Create a separate thread for each listening socket. The advantage is that it 
doesn't require many changes to the code; I had better overall feeling about 
the diff. However, I wasn't able to make it work; there were some conflicts 
which I didn't have time to fully debug at the time, I suspect the AsyncPacket 
handling but there might be more.

2. Put multiple sockets (or socket chains) into the same poll()/select() in one 
thread. I was able to work this one out to a patch that passed my tests but the 
code is a bit ugly and I'm not quite sure about its efficiency.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to