Thanks Julien!

I was also working on this. Anyways, shall see if I can add something on top.

- ashish

On Sun, Mar 22, 2009 at 6:03 PM,  <[email protected]> wrote:
> Author: jvermillard
> Date: Sun Mar 22 12:33:54 2009
> New Revision: 757177
>
> URL: http://svn.apache.org/viewvc?rev=757177&view=rev
> Log:
> Added some APR transport javadoc
>
> Modified:
>    
> mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprIoProcessor.java
>    
> mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketAcceptor.java
>    
> mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketConnector.java
>
> Modified: 
> mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprIoProcessor.java
> URL: 
> http://svn.apache.org/viewvc/mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprIoProcessor.java?rev=757177&r1=757176&r2=757177&view=diff
> ==============================================================================
> --- 
> mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprIoProcessor.java
>  (original)
> +++ 
> mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprIoProcessor.java
>  Sun Mar 22 12:33:54 2009
> @@ -60,6 +60,12 @@
>     private final List<AprSession> polledSessions =
>         new CircularQueue<AprSession>(POLLSET_SIZE);
>
> +    /**
> +     * Create a new instance of {...@link AprIoProcessor} with a given 
> Exector for
> +     * handling I/Os events.
> +     *
> +     * @param executor the {...@link Executor} for handling I/O events
> +     */
>     public AprIoProcessor(Executor executor) {
>         super(executor);
>
> @@ -116,6 +122,9 @@
>         }
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected void dispose0() {
>         Poll.destroy(pollset);
> @@ -124,11 +133,17 @@
>         Pool.destroy(pool);
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected int select() throws Exception {
>        return select(Integer.MAX_VALUE);
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>       �...@override
>     protected int select(long timeout) throws Exception {
>         int rv = Poll.poll(pollset, 1000 * timeout, polledSockets, false);
> @@ -186,11 +201,17 @@
>         }
>     }
>
> +       /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected boolean isSelectorEmpty() {
>         return allSessions.isEmpty();
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected void wakeup() {
>         if (toBeWakenUp) {
> @@ -204,11 +225,17 @@
>         }
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected Iterator<AprSession> allSessions() {
>         return allSessions.values().iterator();
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected Iterator<AprSession> selectedSessions() {
>         return polledSessions.iterator();
> @@ -229,6 +256,9 @@
>         allSessions.put(s, session);
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected void destroy(AprSession session) throws Exception {
>         if (allSessions.remove(session.getDescriptor()) == null) {
> @@ -255,6 +285,9 @@
>         }
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected SessionState state(AprSession session) {
>         long socket = session.getDescriptor();
> @@ -267,26 +300,41 @@
>         }
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected boolean isReadable(AprSession session) {
>         return session.isReadable();
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected boolean isWritable(AprSession session) {
>         return session.isWritable();
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected boolean isInterestedInRead(AprSession session) {
>         return session.isInterestedInRead();
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected boolean isInterestedInWrite(AprSession session) {
>         return session.isInterestedInWrite();
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected void setInterestedInRead(AprSession session, boolean value) 
> throws Exception {
>         if (session.isInterestedInRead() == value) {
> @@ -309,6 +357,9 @@
>         }
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected void setInterestedInWrite(AprSession session, boolean value) 
> throws Exception {
>         if (session.isInterestedInWrite() == value) {
> @@ -331,6 +382,9 @@
>         }
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected int read(AprSession session, IoBuffer buffer) throws Exception {
>         int bytes;
> @@ -359,6 +413,9 @@
>         return bytes;
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected int write(AprSession session, IoBuffer buf, int length) throws 
> Exception {
>         int writtenBytes;
> @@ -385,6 +442,9 @@
>         return writtenBytes;
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected int transferFile(AprSession session, FileRegion region, int 
> length)
>             throws Exception {
>
> Modified: 
> mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketAcceptor.java
> URL: 
> http://svn.apache.org/viewvc/mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketAcceptor.java?rev=757177&r1=757176&r2=757177&view=diff
> ==============================================================================
> --- 
> mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketAcceptor.java
>  (original)
> +++ 
> mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketAcceptor.java
>  Sun Mar 22 12:33:54 2009
> @@ -28,11 +28,15 @@
>
>  import org.apache.mina.core.RuntimeIoException;
>  import org.apache.mina.core.polling.AbstractPollingIoAcceptor;
> +import org.apache.mina.core.service.IoAcceptor;
>  import org.apache.mina.core.service.IoProcessor;
> +import org.apache.mina.core.service.IoService;
> +import org.apache.mina.core.service.SimpleIoProcessorPool;
>  import org.apache.mina.core.service.TransportMetadata;
>  import org.apache.mina.transport.socket.DefaultSocketSessionConfig;
>  import org.apache.mina.transport.socket.SocketAcceptor;
>  import org.apache.mina.transport.socket.SocketSessionConfig;
> +import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
>  import org.apache.mina.util.CircularQueue;
>  import org.apache.tomcat.jni.Address;
>  import org.apache.tomcat.jni.Poll;
> @@ -41,7 +45,7 @@
>  import org.apache.tomcat.jni.Status;
>
>  /**
> - * TODO Add documentation
> + * {...@link IoAcceptor} for APR based socket transport (TCP/IP).
>  *
>  * @author The Apache MINA Project ([email protected])
>  * @version $Rev$, $Date$
> @@ -68,27 +72,53 @@
>     private final List<Long> polledHandles =
>         new CircularQueue<Long>(POLLSET_SIZE);
>
> +    /**
> +     * Constructor for {...@link AprSocketAcceptor} using default parameters 
> (multiple thread model).
> +     */
>     public AprSocketAcceptor() {
>         super(new DefaultSocketSessionConfig(), AprIoProcessor.class);
>         ((DefaultSocketSessionConfig) getSessionConfig()).init(this);
>     }
>
> +    /**
> +     * Constructor for {...@link AprSocketAcceptor} using default 
> parameters, and
> +     * given number of {...@link AprIoProcessor} for multithreading I/O 
> operations.
> +     *
> +     * @param processorCount the number of processor to create and place in a
> +     * {...@link SimpleIoProcessorPool}
> +     */
>     public AprSocketAcceptor(int processorCount) {
>         super(new DefaultSocketSessionConfig(), AprIoProcessor.class, 
> processorCount);
>         ((DefaultSocketSessionConfig) getSessionConfig()).init(this);
>     }
>
> +    /**
> +     *  Constructor for {...@link AprSocketAcceptor} with default 
> configuration but a
> +      *  specific {...@link AprIoProcessor}, useful for sharing the same 
> processor over multiple
> +      * �...@link IoService} of the same type.
> +      * @param processor the processor to use for managing I/O events
> +      */
>     public AprSocketAcceptor(IoProcessor<AprSession> processor) {
>         super(new DefaultSocketSessionConfig(), processor);
>         ((DefaultSocketSessionConfig) getSessionConfig()).init(this);
>     }
>
> +    /**
> +     *  Constructor for {...@link AprSocketAcceptor} with a given {...@link 
> Executor} for handling
> +     *  connection events and a given {...@link AprIoProcessor} for handling 
> I/O events, useful for
> +     *  sharing the same processor and executor over multiple {...@link 
> IoService} of the same type.
> +     * @param executor the executor for connection
> +     * @param processor the processor for I/O operations
> +     */
>     public AprSocketAcceptor(Executor executor,
>             IoProcessor<AprSession> processor) {
>         super(new DefaultSocketSessionConfig(), executor, processor);
>         ((DefaultSocketSessionConfig) getSessionConfig()).init(this);
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected AprSession accept(IoProcessor<AprSession> processor, Long 
> handle) throws Exception {
>         long s = Socket.accept(handle);
> @@ -104,6 +134,9 @@
>         }
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected Long open(SocketAddress localAddress) throws Exception {
>         InetSocketAddress la = (InetSocketAddress) localAddress;
> @@ -165,6 +198,9 @@
>         return handle;
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected void init() throws Exception {
>         // initialize a memory pool for APR functions
> @@ -195,6 +231,9 @@
>         }
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected void destroy() throws Exception {
>         if (wakeupSocket > 0) {
> @@ -208,12 +247,18 @@
>         }
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected SocketAddress localAddress(Long handle) throws Exception {
>         long la = Address.get(Socket.APR_LOCAL, handle);
>         return new InetSocketAddress(Address.getip(la), 
> Address.getInfo(la).port);
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected int select() throws Exception {
>         int rv = Poll.poll(pollset, Integer.MAX_VALUE, polledSockets, false);
> @@ -260,11 +305,17 @@
>         }
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected Iterator<Long> selectedHandles() {
>         return polledHandles.iterator();
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected void close(Long handle) throws Exception {
>         Poll.remove(pollset, handle);
> @@ -274,6 +325,9 @@
>         }
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     protected void wakeup() {
>         if (toBeWakenUp) {
> @@ -287,14 +341,23 @@
>         }
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     public int getBacklog() {
>         return backlog;
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     public boolean isReuseAddress() {
>         return reuseAddress;
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     public void setBacklog(int backlog) {
>         synchronized (bindLock) {
>             if (isActive()) {
> @@ -306,16 +369,25 @@
>         }
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     public InetSocketAddress getLocalAddress() {
>         return (InetSocketAddress) super.getLocalAddress();
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     public InetSocketAddress getDefaultLocalAddress() {
>         return (InetSocketAddress) super.getDefaultLocalAddress();
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     public void setDefaultLocalAddress(InetSocketAddress localAddress) {
>         super.setDefaultLocalAddress(localAddress);
>     }
> @@ -331,15 +403,26 @@
>         }
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     public TransportMetadata getTransportMetadata() {
>         return AprSocketSession.METADATA;
>     }
>
> +    /**
> +     * {...@inheritdoc}
> +     */
>     @Override
>     public SocketSessionConfig getSessionConfig() {
>         return (SocketSessionConfig) super.getSessionConfig();
>     }
>
> +    /**
> +     * Convert an APR code into an Exception with the corresponding message
> +     * @param code error number
> +     * @throws IOException the generated exception
> +     */
>     private void throwException(int code) throws IOException {
>         throw new IOException(
>                 org.apache.tomcat.jni.Error.strerror(-code) +
>
> Modified: 
> mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketConnector.java
> URL: 
> http://svn.apache.org/viewvc/mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketConnector.java?rev=757177&r1=757176&r2=757177&view=diff
> ==============================================================================
> --- 
> mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketConnector.java
>  (original)
> +++ 
> mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketConnector.java
>  Sun Mar 22 12:33:54 2009
> @@ -33,7 +33,10 @@
>
>  import org.apache.mina.core.RuntimeIoException;
>  import org.apache.mina.core.polling.AbstractPollingIoConnector;
> +import org.apache.mina.core.service.IoConnector;
>  import org.apache.mina.core.service.IoProcessor;
> +import org.apache.mina.core.service.IoService;
> +import org.apache.mina.core.service.SimpleIoProcessorPool;
>  import org.apache.mina.core.service.TransportMetadata;
>  import org.apache.mina.transport.socket.DefaultSocketSessionConfig;
>  import org.apache.mina.transport.socket.SocketConnector;
> @@ -46,7 +49,7 @@
>  import org.apache.tomcat.jni.Status;
>
>  /**
> - * {...@link IoConnector} for ABR based socket transport (TCP/IP).
> + * {...@link IoConnector} for APR based socket transport (TCP/IP).
>  *
>  * @author The Apache MINA Project ([email protected])
>  * @version $Rev$, $Date$
> @@ -76,7 +79,7 @@
>     private volatile ByteBuffer dummyBuffer;
>
>     /**
> -     * TODO : document superclass
> +     * Create an {...@link AprSocketConnector} with default configuration 
> (multiple thread model).
>      */
>     public AprSocketConnector() {
>         super(new DefaultSocketSessionConfig(), AprIoProcessor.class);
> @@ -84,7 +87,10 @@
>     }
>
>     /**
> -     * TODO : document superclass
> +     * Constructor for {...@link AprSocketConnector} with default 
> configuration, and
> +     * given number of {...@link AprIoProcessor} for multithreading I/O 
> operations
> +     * @param processorCount the number of processor to create and place in a
> +     * {...@link SimpleIoProcessorPool}
>      */
>     public AprSocketConnector(int processorCount) {
>         super(new DefaultSocketSessionConfig(), AprIoProcessor.class, 
> processorCount);
> @@ -92,7 +98,10 @@
>     }
>
>     /**
> -     * TODO : document superclass
> +     *  Constructor for {...@link AprSocketConnector} with default 
> configuration but a
> +     *  specific {...@link IoProcessor}, useful for sharing the same 
> processor over multiple
> +     * �...@link IoService} of the same type.
> +     * @param processor the processor to use for managing I/O events
>      */
>     public AprSocketConnector(IoProcessor<AprSession> processor) {
>         super(new DefaultSocketSessionConfig(), processor);
> @@ -100,7 +109,11 @@
>     }
>
>     /**
> -     * TODO : document superclass
> +     *  Constructor for {...@link AprSocketConnector} with a given {...@link 
> Executor} for handling
> +     *  connection events and a given {...@link IoProcessor} for handling 
> I/O events, useful for sharing
> +     *  the same processor and executor over multiple {...@link IoService} 
> of the same type.
> +     * @param executor the executor for connection
> +     * @param processor the processor for I/O operations
>      */
>     public AprSocketConnector(Executor executor, IoProcessor<AprSession> 
> processor) {
>         super(new DefaultSocketSessionConfig(), executor, processor);
>
>
>



-- 
thanks
ashish

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

Reply via email to