org.apache.cassandra.repair

## Class Differencer

- java.lang.Object
- - org.apache.cassandra.repair.Differencer

All Implemented Interfaces:
  java.lang.Runnable

    public class Differencer
    extends java.lang.Object
    implements java.lang.Runnable

Runs on the node that initiated a request to compare two trees, and launch repairs for disagreeing ranges.

### Field Summary

Fields
`java.util.List<Range<Token>>` `differences`
`TreeResponse` `r1`
`TreeResponse` `r2`

### Constructor Summary

Constructors
Constructor and Description
`Differencer(RepairJobDesc desc, TreeResponse r1, TreeResponse r2)`

### Method Summary

Methods
`boolean` `equals(java.lang.Object o)` In order to remove completed Differencer, equality is computed only from `desc` and endpoint part of two TreeResponses.
`int` `hashCode()`
`void` `run()` Compares our trees, and triggers repairs for any ranges that mismatch.
`java.lang.String` `toString()`

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

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### r1

    public final TreeResponse r1

#### r2

    public final TreeResponse r2

#### differences

    public final java.util.List<Range<Token>> differences

### Constructor Detail

#### Differencer

    public Differencer(RepairJobDesc desc,
               TreeResponse r1,
               TreeResponse r2)

### Method Detail

#### run

    public void run()

Compares our trees, and triggers repairs for any ranges that mismatch.

Specified by:
  `run` in interface `java.lang.Runnable`

#### equals

    public boolean equals(java.lang.Object o)

In order to remove completed Differencer, equality is computed only from `desc` and endpoint part of two TreeResponses.

Overrides:
  `equals` in class `java.lang.Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `java.lang.Object`

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`