mturk       2005/04/18 08:24:01

  Modified:    jni/examples/org/apache/tomcat/jni Echo.java
               jni/java/org/apache/tomcat/jni Poll.java
               jni/native/src poll.c
  Log:
  Remove obsolete Poll.socket, Poll.events and Poll.data calls.
  Now Api uses indexed array for Poll.poll to minimize the JNI calls.
  
  Revision  Changes    Path
  1.9       +6 -5      
jakarta-tomcat-connectors/jni/examples/org/apache/tomcat/jni/Echo.java
  
  Index: Echo.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jni/examples/org/apache/tomcat/jni/Echo.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- Echo.java 18 Apr 2005 14:06:42 -0000      1.8
  +++ Echo.java 18 Apr 2005 15:24:01 -0000      1.9
  @@ -180,13 +180,14 @@
                           Thread.sleep(1);
                           continue;
                       }
  -                    long [] desc = new long[16];
  +                    /* Four times size then  created pollset */
  +                    long [] desc = new long[64];
                       /* USe 1 second poll timeout */
                       int rv = Poll.poll(serverPollset, 1000000, desc);
                       for (int n = 0; n < rv; n++) {
  -                        long clientSock = Poll.socket(desc[n]);
  -                        int  workerId   = (int)Poll.data(desc[n]);
  -                        System.out.println("Poll flags " + 
Poll.events(desc[n]));
  +                        long clientSock = desc[n*4+1];
  +                        int  workerId   = (int)desc[n*4+2];
  +                        System.out.println("Poll flags " + desc[n*4]);
                           remove(clientSock, workerId);
                           Worker worker = new Worker(clientSock, workerId,
                                                      
this.getClass().getName());
  
  
  
  1.7       +10 -19    
jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni/Poll.java
  
  Index: Poll.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni/Poll.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Poll.java 15 Apr 2005 10:15:07 -0000      1.6
  +++ Poll.java 18 Apr 2005 15:24:01 -0000      1.7
  @@ -96,30 +96,21 @@
        * @param pollset The pollset to use
        * @param timeout Timeout in microseconds
        * @param descriptors Array of signalled descriptors (output parameter)
  +     *        The desctiptor array must be four times the size of pollset.
  +     *        and are populated as follows:
  +     * <PRE>
  +     * descriptors[n + 0] -> returned events
  +     * descriptors[n + 1] -> socket
  +     * descriptors[n + 2] -> client data
  +     * descriptors[n + 2] -> reserved
  +     * </PRE>
        * @return Number of signalled descriptors (output parameter)
  +     *         or negative APR error code.
        */
       public static native int poll(long pollset, long timeout,
                                     long [] descriptors);
   
       /**
  -     * Return socket from poll descriptor
  -     * @param polldesc The pollset decriptor to use
  -     */
  -    public static native long socket(long polldesc);
  -
  -    /**
  -     * Return client data from poll descriptor
  -     * @param polldesc The pollset decriptor to use
  -     */
  -    public static native long data(long polldesc);
  -
  -    /**
  -     * Return rtnevents from poll descriptor
  -     * @param polldesc The pollset decriptor to use
  -     */
  -    public static native int events(long polldesc);
  -    
  -    /**
        * Set the socket time to live.
        * @param pollset The pollset to use
        * @param ttl Timeout in microseconds
  
  
  
  1.8       +0 -24     jakarta-tomcat-connectors/jni/native/src/poll.c
  
  Index: poll.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/poll.c,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- poll.c    18 Apr 2005 13:53:33 -0000      1.7
  +++ poll.c    18 Apr 2005 15:24:01 -0000      1.8
  @@ -251,30 +251,6 @@
       return (jint)num;
   }
   
  -TCN_IMPLEMENT_CALL(jlong, Poll, socket)(TCN_STDARGS, jlong pollfd)
  -{
  -    apr_pollfd_t *fd = J2P(pollfd,  apr_pollfd_t *);
  -    UNREFERENCED_STDARGS;
  -    TCN_ASSERT(pollfd != 0);
  -    return P2J(fd->desc.s);
  -}
  -
  -TCN_IMPLEMENT_CALL(jlong, Poll, data)(TCN_STDARGS, jlong pollfd)
  -{
  -    apr_pollfd_t *fd = J2P(pollfd,  apr_pollfd_t *);
  -    UNREFERENCED_STDARGS;
  -    TCN_ASSERT(pollfd != 0);
  -    return P2J(fd->client_data);
  -}
  -
  -TCN_IMPLEMENT_CALL(jint, Poll, events)(TCN_STDARGS, jlong pollfd)
  -{
  -    apr_pollfd_t *fd = J2P(pollfd,  apr_pollfd_t *);
  -    UNREFERENCED_STDARGS;
  -    TCN_ASSERT(pollfd != 0);
  -    return (jint)fd->rtnevents;
  -}
  -
   TCN_IMPLEMENT_CALL(void, Poll, setTtl)(TCN_STDARGS, jlong pollset,
                                          jlong ttl)
   {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to