Package org.apache.tomcat.util.net

## Class AprEndpoint.Sendfile

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

All Implemented Interfaces:
  `java.lang.Runnable`

Enclosing class:
  AprEndpoint

    public class AprEndpoint.Sendfile
    extends java.lang.Object
    implements java.lang.Runnable

### Field Summary

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

### Constructor Summary

Constructors
`Sendfile()`

### Method Summary

All Methods Instance Methods Concrete Methods
`SendfileState` `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.
`protected void` `start()`
`protected void` `stop()`

### 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 java.util.HashMap<java.lang.Long,​AprEndpoint.SendfileData> sendfileData

#### sendfileCount

    protected int sendfileCount

#### addS

    protected java.util.ArrayList<AprEndpoint.SendfileData> addS

### Constructor Detail

#### Sendfile

    public Sendfile()

### Method Detail

#### getSendfileCount

    public int getSendfileCount()

#### init

    protected void init()

Create the sendfile poller.

#### start

    protected void start()

#### stop

    protected void stop()

#### destroy

    protected void destroy()

Destroy the poller.

#### add

    public SendfileState 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 sent
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 `java.lang.Runnable`