},
/**
* Simple commit protocol. The transaction should be committed to the global history. The receiving backend
- * it the only entity which needs to persist its effects, hence a simple request/reply protocol is sufficient.
+ * is the only entity which needs to persist its effects, hence a simple request/reply protocol is sufficient.
*/
SIMPLE {
@Override
byte byteValue() {
return 3;
}
-
+ },
+ /**
+ * Transaction is ready. This is not a really a persistence protocol, but an indication that frontend has
+ * completed modifications on the transaction and considers it ready, without deciding the actual commit protocol.
+ */
+ READY {
+ @Override
+ byte byteValue() {
+ return 4;
+ }
};
@Override
return SIMPLE;
case 3:
return THREE_PHASE;
+ case 4:
+ return READY;
default:
throw new IllegalArgumentException("Unhandled byte value " + value);
}