You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mt...@apache.org on 2011/06/24 08:41:20 UTC

svn commit: r1139168 - in /commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net: Poll.java Select.java

Author: mturk
Date: Fri Jun 24 06:41:20 2011
New Revision: 1139168

URL: http://svn.apache.org/viewvc?rev=1139168&view=rev
Log:
Add Select class and axe POLL prefix

Added:
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net/Select.java   (with props)
Modified:
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net/Poll.java

Modified: commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net/Poll.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net/Poll.java?rev=1139168&r1=1139167&r2=1139168&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net/Poll.java (original)
+++ commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net/Poll.java Fri Jun 24 06:41:20 2011
@@ -35,37 +35,37 @@ public final class Poll
     /**
      * There is data to read
      */
-    public static final short     POLLIN        = 0x0001;
+    public static final short     IN            = 0x0001;
     /**
      * Writing now will not block.
      */
-    public static final short     POLLOUT       = 0x0004;
+    public static final short     OUT           = 0x0004;
     /**
      * There is urgent data to read.
      * e.g., out-of-band data on TCP socket; pseudo-terminal master in  packet  mode
      * has seen state change in slave.
      */
-    public static final short     POLLPRI       = 0x0010;
+    public static final short     PRI           = 0x0010;
     /**
      * A Stream socket peer closed  connection, or shut down writing half of connection.
      */
-    public static final short     POLLRDHUP     = 0x0020;
+    public static final short     RDHUP         = 0x0020;
     /**
      * A stream-oriented connection was either diconnected or aborted.
      */
-    public static final short     POLLHUP       = 0x0040;
+    public static final short     HUP           = 0x0040;
     /**
      * An error has occurred.
      */
-    public static final short     POLLERR       = 0x0100;
+    public static final short     ERR           = 0x0100;
     /**
      * An invalid descriptor was used.
      */
-    public static final short     POLLNVAL      = 0x0200;
+    public static final short     NVAL          = 0x0200;
     /**
      * Time-To-Live event occurred.
      */
-    public static final short     POLLTTL       = 0x0400;
+    public static final short     TTL           = 0x0400;
 
 
     private static native int wait0(long[] fds, short[] events, short[] revents,

Added: commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net/Select.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net/Select.java?rev=1139168&view=auto
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net/Select.java (added)
+++ commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net/Select.java Fri Jun 24 06:41:20 2011
@@ -0,0 +1,103 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package org.apache.commons.runtime.net;
+
+import org.apache.commons.runtime.Status;
+import org.apache.commons.runtime.InvalidArgumentException;
+import org.apache.commons.runtime.io.InvalidDescriptorException;
+
+/**
+ * Wait for some event on socket descriptor.
+ */
+public final class Select
+{
+    private Select()
+    {
+        // No instance
+    }
+
+    /**
+     * There is data to read
+     */
+    public static final short     IN            = 0x0001;
+    /**
+     * Writing now will not block.
+     */
+    public static final short     OUT           = 0x0004;
+    /**
+     * There is urgent data to read.
+     * e.g., out-of-band data on TCP socket; pseudo-terminal master in  packet  mode
+     * has seen state change in slave.
+     */
+    public static final short     PRI           = 0x0010;
+    /**
+     * A Stream socket peer closed  connection, or shut down writing half of connection.
+     */
+    public static final short     RDHUP         = 0x0020;
+    /**
+     * A stream-oriented connection was either diconnected or aborted.
+     */
+    public static final short     HUP           = 0x0040;
+    /**
+     * An error has occurred.
+     */
+    public static final short     ERR           = 0x0100;
+    /**
+     * An invalid descriptor was used.
+     */
+    public static final short     NVAL          = 0x0200;
+
+    private static native int wait0(long[] fds, short[] events, short[] revents,
+                                    int nelts, int timeout)
+        throws OutOfMemoryError,
+               InvalidArgumentException,
+               InvalidDescriptorException;
+    private static native short wait1(long fd, short events, int timeout);
+
+    private static short wait(long fd, short events, int timeout)
+        throws OutOfMemoryError,
+               InvalidArgumentException,
+               InvalidDescriptorException
+    {
+        if (fd == 0L)
+            throw new InvalidDescriptorException();
+        if ((events & 0x00ff) == 0)
+            throw new InvalidArgumentException();
+        short se = wait1(fd, events, timeout);
+        if (se == -1)
+            throw new OutOfMemoryError();
+        return se;
+    }
+
+    public static short wait(SocketEndpoint endpoint, short events, int timeout)
+        throws OutOfMemoryError,
+               InvalidArgumentException,
+               InvalidDescriptorException
+    {
+        return wait(endpoint.descriptor().fd(), events, timeout);
+    }
+
+    public static short wait(SocketEndpoint endpoint, short events)
+        throws OutOfMemoryError,
+               InvalidArgumentException,
+               InvalidDescriptorException
+    {
+        return wait(endpoint, events, -1);
+    }
+}

Propchange: commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net/Select.java
------------------------------------------------------------------------------
    svn:eol-style = native