package bftsmart.tom.server;
import bftsmart.tom.MessageContext;
public interface SingleExecutable extends Executable {
/**
* Method called to execute a request totally ordered.
*
* The message context contains a lot of information about the request, such
* as timestamp, nonces and sender. The code for this method MUST use the value
* of timestamp instead of relying on its own local clock, and nonces instead
* of trying to generated its own random values.
*
* This is important because this values are the same for all replicas, and
* therefore, ensure the determinism required in a replicated state machine.
*
* @param command the command issue by the client
* @param msgCtx information related with the command
*
* @return the reply for the request issued by the client
*/
public byte[] executeOrdered(byte[] command, MessageContext msgCtx);
}