org.apache.cassandra.db.monitoring

## Class MonitorableImpl

- java.lang.Object
- - org.apache.cassandra.db.monitoring.MonitorableImpl

All Implemented Interfaces:
  Monitorable

Direct Known Subclasses:
  ReadCommand

    public abstract class MonitorableImpl
    extends java.lang.Object
    implements Monitorable

### Constructor Summary

Constructors
`protected` `MonitorableImpl()`

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `abort()`
`boolean` `complete()`
`long` `constructionTime()`
`boolean` `isAborted()`
`boolean` `isCompleted()`
`boolean` `isCrossNode()`
`boolean` `isInProgress()`
`boolean` `isSlow()`
`void` `setMonitoringTime(long constructionTime, boolean isCrossNode, long timeout, long slowTimeout)` This setter is ugly but the construction chain to ReadCommand is too complex, it would require passing new parameters to all serializers or specializing the serializers to accept these message properties.
`long` `slowTimeout()`
`long` `timeout()`

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

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

### Methods inherited from interface org.apache.cassandra.db.monitoring.Monitorable

`name`

### Constructor Detail

#### MonitorableImpl

    protected MonitorableImpl()

### Method Detail

#### setMonitoringTime

    public void setMonitoringTime(long constructionTime,
                                  boolean isCrossNode,
                                  long timeout,
                                  long slowTimeout)

This setter is ugly but the construction chain to ReadCommand is too complex, it would require passing new parameters to all serializers or specializing the serializers to accept these message properties.

#### constructionTime

    public long constructionTime()

Specified by:
  `constructionTime` in interface `Monitorable`

#### timeout

    public long timeout()

Specified by:
  `timeout` in interface `Monitorable`

#### isCrossNode

    public boolean isCrossNode()

Specified by:
  `isCrossNode` in interface `Monitorable`

#### slowTimeout

    public long slowTimeout()

Specified by:
  `slowTimeout` in interface `Monitorable`

#### isInProgress

    public boolean isInProgress()

Specified by:
  `isInProgress` in interface `Monitorable`

#### isAborted

    public boolean isAborted()

Specified by:
  `isAborted` in interface `Monitorable`

#### isCompleted

    public boolean isCompleted()

Specified by:
  `isCompleted` in interface `Monitorable`

#### isSlow

    public boolean isSlow()

Specified by:
  `isSlow` in interface `Monitorable`

#### abort

    public boolean abort()

Specified by:
  `abort` in interface `Monitorable`

#### complete

    public boolean complete()

Specified by:
  `complete` in interface `Monitorable`