## org.apache.tomcat.jni
Class Poll

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

    public class Poll

extends java.lang.Object

Poll

Version:
  $Revision: 467222 $, $Date: 2006-10-24 05:17:11 +0200 (Tue, 24 Oct 2006) $
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 or to a pollset If you set client_data in the descriptor, that value will be returned in the client_data field whenever this descriptor is signalled in apr_pollset_poll().
`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 or to a pollset If you set client_data in the descriptor, that value will be returned in the client_data field whenever this descriptor is signalled in apr_pollset_poll().

  Parameters:
    `pollset` - The pollset to which to add the descriptor
    `sock` - The sockets to add
    `data` - Client data to add
    `reqevents` - requested events

### 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 signalled descriptors (output parameter) The desctiptor array must be two times the size of pollset. and are populated as follows:

         descriptors[n + 0] -> returned events
         descriptors[n + 1] -> socket

    `remove` - Remove signaled descriptors from pollset
  Returns:
    Number of signalled 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 signalled descriptors (output parameter) The desctiptor array must be the size of pollset. and are populated as follows:

         descriptors[n] -> socket

    `remove` - Remove signaled descriptors from pollset
  Returns:
    Number of signalled 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 desctiptor array must be two times the size of pollset. and are populated as follows:

         descriptors[n + 0] -> returned events
         descriptors[n + 1] -> socket

  Returns:
    Number of descriptors (output parameter) in the Poll or negative APR error code.

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