# Interface RequestProcessor

All Known Implementing Classes:
  `CommitProcessor, FinalRequestProcessor, FollowerRequestProcessor, LeaderRequestProcessor, ObserverRequestProcessor, PrepRequestProcessor, ProposalRequestProcessor, ReadOnlyRequestProcessor, SendAckRequestProcessor, SyncRequestProcessor, UnimplementedRequestProcessor`

public interface RequestProcessor
RequestProcessors are chained together to process transactions. Requests are always processed in order. The standalone server, follower, and leader all have slightly different RequestProcessors chained together. Requests always move forward through the chain of RequestProcessors. Requests are passed to a RequestProcessor through processRequest(). Generally method will always be invoked by a single thread. When shutdown is called, the request RequestProcessor should also shutdown any RequestProcessors that it is connected to.

## Nested Class Summary

Nested Classes
Modifier and Type
Interface
Description
`static class`
`RequestProcessor.RequestProcessorException`

## Method Summary

Modifier and Type
Method
Description
`void`
`processRequest(Request request)`
`void`
`shutdown()`

## Method Details

### processRequest

void processRequest(Request request) throws RequestProcessor.RequestProcessorException

Throws:
  `RequestProcessor.RequestProcessorException`

### shutdown

void shutdown()