mina-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ashish <paliwalash...@gmail.com>
Subject Can a single socket be used for TCP/UDP [Was reading ApacheDS DNS implementation]
Date Fri, 28 Nov 2008 10:36:42 GMT
Was browsing ApacheDS DNS code and found this construct in
org.apache.directory.server.dns.DnsServer.java

public void start() throws IOException
    {
        RecordStore store = new JndiRecordStoreImpl(
getSearchBaseDn(), getSearchBaseDn(), getDirectoryService() );

        if ( getDatagramAcceptor() != null )
        {
            DatagramAcceptorConfig udpConfig = new DatagramAcceptorConfig();
            getDatagramAcceptor().bind( new InetSocketAddress(
getIpPort() ), new DnsProtocolHandler( this, store ), udpConfig );
        }

        if ( getSocketAcceptor() != null )
        {
            SocketAcceptorConfig tcpConfig = new SocketAcceptorConfig();
            tcpConfig.setDisconnectOnUnbind( false );
            tcpConfig.setReuseAddress( true );
            getSocketAcceptor().bind( new InetSocketAddress(
getIpPort() ), new DnsProtocolHandler( this, store ), tcpConfig );
        }

        LOG.info( "DSN service started." );
        System.out.println( "DSN service started." );
    }

Got these queries

Q1. Using this construct, will we be able to receive TCP as well as
UDP traffic on the same port? or I am missing something

Q2. ApacheDS DNS implementation uses per session FilterChain (set in
IoHandler), based on the session transport. Is the understanding
correct that IOFilterChains are per session?

Can't the DNS and other protocol implementation in ApacheDS projects
be made subproject(s) in Apache MINA?

-- 
thanks
ashish

Blog: http://www.ashishpaliwal.com/blog

My Photo Galleries: http://www.pbase.com/ashishpaliwal

Mime
View raw message