org.apache.tomcat.util.net

## Class AprEndpoint.Sendfile

- java.lang.Object
- - org.apache.tomcat.util.net.AprEndpoint.Sendfile

All Implemented Interfaces:
  Runnable

Enclosing class:
  AprEndpoint

    public class AprEndpoint.Sendfile
    extends Object
    implements Runnable

### Field Summary

Fields
`protected ArrayList<AprEndpoint.SendfileData>` `addS`
`protected long[]` `desc`
`protected long` `pool`
`protected int` `sendfileCount`
`protected HashMap<Long,AprEndpoint.SendfileData>` `sendfileData`
`protected long` `sendfilePollset`

### Constructor Summary

Constructors
Constructor and Description
`AprEndpoint.Sendfile()`

### Method Summary

Methods
`boolean` `add(AprEndpoint.SendfileData data)` Add the sendfile data to the sendfile poller.
`protected void` `destroy()` Destroy the poller.
`int` `getSendfileCount()`
`protected void` `init()` Create the sendfile poller.
`protected void` `remove(AprEndpoint.SendfileData data)` Remove socket from the poller.
`void` `run()` The background thread that listens for incoming TCP/IP connections and hands them off to an appropriate processor.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### sendfilePollset

    protected long sendfilePollset

#### pool

    protected long pool

#### desc

    protected long[] desc

#### sendfileData

    protected HashMap<Long,AprEndpoint.SendfileData> sendfileData

#### sendfileCount

    protected int sendfileCount

#### addS

    protected ArrayList<AprEndpoint.SendfileData> addS

### Constructor Detail

#### AprEndpoint.Sendfile

    public AprEndpoint.Sendfile()

### Method Detail

#### getSendfileCount

    public int getSendfileCount()

#### init

    protected void init()

Create the sendfile poller. With some versions of APR, the maximum poller size will be 62 (recompiling APR is necessary to remove this limitation).

#### destroy

    protected void destroy()

Destroy the poller.

#### add

    public boolean add(AprEndpoint.SendfileData data)

Add the sendfile data to the sendfile poller. Note that in most cases, the initial non blocking calls to sendfile will return right away, and will be handled asynchronously inside the kernel. As a result, the poller will never be used.

Parameters:
  `data` - containing the reference to the data which should be snet
Returns:
  true if all the data has been sent right away, and false otherwise

#### remove

    protected void remove(AprEndpoint.SendfileData data)

Remove socket from the poller.

Parameters:
  `data` - the sendfile data which should be removed

#### run

    public void run()

The background thread that listens for incoming TCP/IP connections and hands them off to an appropriate processor.

Specified by:
  `run` in interface `Runnable`