Apache Tomcat 7.0.28

org.apache.tomcat.jni
Class Poll

java.lang.Object
  extended by org.apache.tomcat.jni.Poll

public class Poll
extends Object

Poll

Version:
$Id: Poll.java 1349932 2012-06-13 15:59:02Z markt $
Author:
Mladen Turk

Field Summary
static int APR_NO_DESC
          Used in apr_pollfd_t to determine what the apr_descriptor is apr_datatype_e enum
static int APR_POLL_FILE
          descriptor refers to a socket
static int APR_POLL_LASTDESC
          descriptor refers to a file
static int APR_POLL_SOCKET
          nothing here
static int APR_POLLERR
          Can write without blocking
static int APR_POLLHUP
          Pending error
static int APR_POLLIN
          Poll options
static int APR_POLLNVAL
          Hangup occurred
static int APR_POLLOUT
          Priority data available
static int APR_POLLPRI
          Can read without blocking
static int APR_POLLSET_THREADSAFE
          Adding or Removing a Descriptor is thread safe
 
Constructor Summary
Poll()
           
 
Method Summary
static int add(long pollset, long sock, int reqevents)
          Add a socket to a pollset with the default timeout.
static int addWithTimeout(long pollset, long sock, int reqevents, long timeout)
          Add a socket to a pollset with a specific timeout.
static long create(int size, long p, int flags, long ttl)
          Setup a pollset object.
static int destroy(long pollset)
          Destroy a pollset object
static long getTtl(long pollset)
          Get the socket time to live.
static int maintain(long pollset, long[] descriptors, boolean remove)
          Maintain on the descriptor(s) in a pollset
static int poll(long pollset, long timeout, long[] descriptors, boolean remove)
          Block for activity on the descriptor(s) in a pollset
static int pollset(long pollset, long[] descriptors)
          Return all descriptor(s) in a pollset
static int remove(long pollset, long sock)
          Remove a descriptor from a pollset
static void setTtl(long pollset, long ttl)
          Set the socket time to live.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

APR_POLLIN

public static final int APR_POLLIN
Poll options

See Also:
Constant Field Values

APR_POLLPRI

public static final int APR_POLLPRI
Can read without blocking

See Also:
Constant Field Values

APR_POLLOUT

public static final int APR_POLLOUT
Priority data available

See Also:
Constant Field Values

APR_POLLERR

public static final int APR_POLLERR
Can write without blocking

See Also:
Constant Field Values

APR_POLLHUP

public static final int APR_POLLHUP
Pending error

See Also:
Constant Field Values

APR_POLLNVAL

public static final int APR_POLLNVAL
Hangup occurred

See Also:
Constant Field Values

APR_POLLSET_THREADSAFE

public static final int APR_POLLSET_THREADSAFE
Adding or Removing a Descriptor is thread safe

See Also:
Constant Field Values

APR_NO_DESC

public static final int APR_NO_DESC
Used in apr_pollfd_t to determine what the apr_descriptor is apr_datatype_e enum

See Also:
Constant Field Values

APR_POLL_SOCKET

public static final int APR_POLL_SOCKET
nothing here

See Also:
Constant Field Values

APR_POLL_FILE

public static final int APR_POLL_FILE
descriptor refers to a socket

See Also:
Constant Field Values

APR_POLL_LASTDESC

public static final int APR_POLL_LASTDESC
descriptor refers to a file

See Also:
Constant Field Values
Constructor Detail

Poll

public Poll()
Method Detail

create

public static long create(int size,
                          long p,
                          int flags,
                          long ttl)
                   throws Error
Setup a pollset object. If flags equals APR_POLLSET_THREADSAFE, then a pollset is created on which it is safe to make concurrent calls to apr_pollset_add(), apr_pollset_remove() and apr_pollset_poll() from separate threads. This feature is only supported on some platforms; the apr_pollset_create() call will fail with APR_ENOTIMPL on platforms where it is not supported.

Parameters:
size - The maximum number of descriptors that this pollset can hold
p - The pool from which to allocate the pollset
flags - Optional flags to modify the operation of the pollset.
ttl - Maximum time to live for a particular socket.
Returns:
The pointer in which to return the newly created object
Throws:
Error

destroy

public static int destroy(long pollset)
Destroy a pollset object

Parameters:
pollset - The pollset to destroy

add

public static int add(long pollset,
                      long sock,
                      int reqevents)
Add a socket to a pollset with the default timeout.

Parameters:
pollset - The pollset to which to add the socket
sock - The sockets to add
reqevents - requested events

addWithTimeout

public static int addWithTimeout(long pollset,
                                 long sock,
                                 int reqevents,
                                 long timeout)
Add a socket to a pollset with a specific timeout.

Parameters:
pollset - The pollset to which to add the socket
sock - The sockets to add
reqevents - requested events
timeout - requested timeout in microseconds (-1 for infinite)

remove

public static int remove(long pollset,
                         long sock)
Remove a descriptor from a pollset

Parameters:
pollset - The pollset from which to remove the descriptor
sock - The socket to remove

poll

public static int poll(long pollset,
                       long timeout,
                       long[] descriptors,
                       boolean remove)
Block for activity on the descriptor(s) in a pollset

Parameters:
pollset - The pollset to use
timeout - Timeout in microseconds
descriptors - Array of signaled descriptors (output parameter) The descriptor array must be two times the size of pollset. and are populated as follows:
 descriptors[2n + 0] -> returned events
 descriptors[2n + 1] -> socket
 
remove - Remove signaled descriptors from pollset
Returns:
Number of signaled descriptors (output parameter) or negative APR error code.

maintain

public static int maintain(long pollset,
                           long[] descriptors,
                           boolean remove)
Maintain on the descriptor(s) in a pollset

Parameters:
pollset - The pollset to use
descriptors - Array of signaled descriptors (output parameter) The descriptor array must be the size of pollset. and are populated as follows:
 descriptors[n] -> socket
 
remove - Remove signaled descriptors from pollset
Returns:
Number of signaled descriptors (output parameter) or negative APR error code.

setTtl

public static void setTtl(long pollset,
                          long ttl)
Set the socket time to live.

Parameters:
pollset - The pollset to use
ttl - Timeout in microseconds

getTtl

public static long getTtl(long pollset)
Get the socket time to live.

Parameters:
pollset - The pollset to use
Returns:
Timeout in microseconds

pollset

public static int pollset(long pollset,
                          long[] descriptors)
Return all descriptor(s) in a pollset

Parameters:
pollset - The pollset to use
descriptors - Array of descriptors (output parameter) The descriptor array must be two times the size of pollset. and are populated as follows:
 descriptors[2n + 0] -> returned events
 descriptors[2n + 1] -> socket
 
Returns:
Number of descriptors (output parameter) in the Poll or negative APR error code.

Apache Tomcat 7.0.28

Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.