io.undertow.server.protocol

## Class ParseTimeoutUpdater

- java.lang.Object
- - io.undertow.server.protocol.ParseTimeoutUpdater

All Implemented Interfaces:
  ServerConnection.CloseListener, Closeable, AutoCloseable, Runnable

    public final class ParseTimeoutUpdater
    extends Object
    implements Runnable, ServerConnection.CloseListener, Closeable

Wrapper for parse timeout.

Author:
  Sebastian Laskawiec
See Also:
  `UndertowOptions.REQUEST_PARSE_TIMEOUT`

### Constructor Summary

Constructors
Constructor and Description
`ParseTimeoutUpdater(org.xnio.channels.ConnectedChannel channel, long requestParseTimeout, long requestIdleTimeout)` Creates new instance of ParseTimeoutSourceConduit.
`ParseTimeoutUpdater(org.xnio.channels.ConnectedChannel channel, long requestParseTimeout, long requestIdleTimeout, Runnable closeTask)` Creates new instance of ParseTimeoutSourceConduit.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `close()`
`void` `closed(ServerConnection connection)`
`void` `connectionIdle()` Called when the connection goes idle
`void` `failedParse()` Called when a request is received, however it is not parsed in a single read() call.
`void` `requestStarted()` Cancels timeout countdown.
`void` `run()`

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

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

### Constructor Detail

#### ParseTimeoutUpdater

    public ParseTimeoutUpdater(org.xnio.channels.ConnectedChannel channel,
                               long requestParseTimeout,
                               long requestIdleTimeout)

Creates new instance of ParseTimeoutSourceConduit.

Parameters:
  `channel` - Channel which will be closed in case of timeout.
  `requestParseTimeout` - Timeout value. Negative value will indicate that this updated is disabled.
  `requestIdleTimeout` -

#### ParseTimeoutUpdater

    public ParseTimeoutUpdater(org.xnio.channels.ConnectedChannel channel,
                               long requestParseTimeout,
                               long requestIdleTimeout,
                               Runnable closeTask)

Creates new instance of ParseTimeoutSourceConduit.

Parameters:
  `channel` - Channel which will be closed in case of timeout.
  `requestParseTimeout` - Timeout value. Negative value will indicate that this updated is disabled.
  `requestIdleTimeout` -

### Method Detail

#### connectionIdle

    public void connectionIdle()

Called when the connection goes idle

#### failedParse

    public void failedParse()

Called when a request is received, however it is not parsed in a single read() call. This starts a timer, and if the request is not parsed within this time then the connection is closed.

#### requestStarted

    public void requestStarted()

Cancels timeout countdown.

Should be called after parsing is complete (to avoid closing connection during other activities).

#### run

    public void run()

Specified by:
  `run` in interface `Runnable`

#### closed

    public void closed(ServerConnection connection)

Specified by:
  `closed` in interface `ServerConnection.CloseListener`

#### close

    public void close()

Specified by:
  `close` in interface `Closeable`
Specified by:
  `close` in interface `AutoCloseable`