## org.apache.cassandra.service
Class ReadResponseResolver

    java.lang.Object
      org.apache.cassandra.service.ReadResponseResolver

All Implemented Interfaces:
  IResponseResolver<Row>

    public class ReadResponseResolver

extends java.lang.Object
implements IResponseResolver<Row>

Turns ReadResponse messages into Row objects, resolving to the most recent version and setting up read repairs as necessary.

Constructor Summary
`ReadResponseResolver(java.lang.String table, int responseCount)`

Method Summary
`void` `injectPreProcessed(Message message, ReadResponse result)` hack so ConsistencyChecker doesn't have to serialize/deserialize an extra real Message
`boolean` `isDataPresent(java.util.Collection<Message> responses)`
`static void` `maybeScheduleRepairs(ColumnFamily resolved, java.lang.String table, java.lang.String key, java.util.List<ColumnFamily> versions, java.util.List<java.net.InetAddress> endPoints)` For each row version, compare with resolved (the superset of all row versions); if it is missing anything, send a mutation to the endpoint it come from.
`void` `preprocess(Message message)`
`Row` `resolve(java.util.Collection<Message> responses)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ReadResponseResolver

    public ReadResponseResolver(java.lang.String table,
                                int responseCount)

Method Detail

### resolve

    public Row resolve(java.util.Collection<Message> responses)
                throws DigestMismatchException,
                       java.io.IOException

  Specified by:
    `resolve` in interface `IResponseResolver<Row>`
  Throws:
    `DigestMismatchException`
    `java.io.IOException`

### maybeScheduleRepairs

    public static void maybeScheduleRepairs(ColumnFamily resolved,
                                            java.lang.String table,
                                            java.lang.String key,
                                            java.util.List<ColumnFamily> versions,
                                            java.util.List<java.net.InetAddress> endPoints)

  For each row version, compare with resolved (the superset of all row versions); if it is missing anything, send a mutation to the endpoint it come from.

### preprocess

    public void preprocess(Message message)

  Specified by:
    `preprocess` in interface `IResponseResolver<Row>`

### injectPreProcessed

    public void injectPreProcessed(Message message,
                                   ReadResponse result)

  hack so ConsistencyChecker doesn't have to serialize/deserialize an extra real Message

### isDataPresent

    public boolean isDataPresent(java.util.Collection<Message> responses)

  Specified by:
    `isDataPresent` in interface `IResponseResolver<Row>`

Copyright © 2010 The Apache Software Foundation