This is an automated email from the ASF dual-hosted git repository.

aleksey pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra-accord.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 8830d97b CEP-15: Extend Accord MessageType with a side effect flag
8830d97b is described below

commit 8830d97ba517fb2d0f7f22e8e6b886a98839e694
Author: Aleksey Yeschenko <alek...@apache.org>
AuthorDate: Fri Jun 2 11:00:03 2023 +0100

    CEP-15: Extend Accord MessageType with a side effect flag
    
    patch by Aleksey Yeschenko; reviewed by Benedic Elliott Smith for
    CASSANDRA-18561
---
 .../src/main/java/accord/messages/Commit.java      |  2 +-
 .../main/java/accord/messages/InformOfTxnId.java   |  2 +-
 .../src/main/java/accord/messages/MessageType.java | 66 +++++++++++++---------
 .../src/main/java/accord/messages/PreAccept.java   |  4 +-
 4 files changed, 42 insertions(+), 32 deletions(-)

diff --git a/accord-core/src/main/java/accord/messages/Commit.java 
b/accord-core/src/main/java/accord/messages/Commit.java
index 91732b41..8d21c9e0 100644
--- a/accord-core/src/main/java/accord/messages/Commit.java
+++ b/accord-core/src/main/java/accord/messages/Commit.java
@@ -288,7 +288,7 @@ public class Commit extends TxnRequest<ReadNack>
         @Override
         public MessageType type()
         {
-            return MessageType.COMMIT_INVALIDATE;
+            return MessageType.COMMIT_INVALIDATE_REQ;
         }
 
         @Override
diff --git a/accord-core/src/main/java/accord/messages/InformOfTxnId.java 
b/accord-core/src/main/java/accord/messages/InformOfTxnId.java
index b29c72c1..dbb65e4b 100644
--- a/accord-core/src/main/java/accord/messages/InformOfTxnId.java
+++ b/accord-core/src/main/java/accord/messages/InformOfTxnId.java
@@ -73,7 +73,7 @@ public class InformOfTxnId extends 
AbstractEpochRequest<Reply> implements Reques
     @Override
     public MessageType type()
     {
-        return MessageType.INFORM_TXNID_REQ;
+        return MessageType.INFORM_OF_TXN_REQ;
     }
 
     @Override
diff --git a/accord-core/src/main/java/accord/messages/MessageType.java 
b/accord-core/src/main/java/accord/messages/MessageType.java
index 5de5cdb4..f5361e6e 100644
--- a/accord-core/src/main/java/accord/messages/MessageType.java
+++ b/accord-core/src/main/java/accord/messages/MessageType.java
@@ -15,37 +15,47 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package accord.messages;
 
 /**
- * meant to assist implementations map accord messages to their own messaging 
systems
+ * Meant to assist implementations map accord messages to their own messaging 
systems.
  */
 public enum MessageType
 {
-    SIMPLE_RSP,
-    PREACCEPT_REQ,
-    PREACCEPT_RSP,
-    ACCEPT_REQ,
-    ACCEPT_RSP,
-    ACCEPT_INVALIDATE_REQ,
-    GET_DEPS_REQ,
-    GET_DEPS_RSP,
-    COMMIT_REQ,
-    COMMIT_INVALIDATE,
-    APPLY_REQ,
-    APPLY_RSP,
-    READ_REQ,
-    READ_RSP,
-    BEGIN_RECOVER_REQ,
-    BEGIN_RECOVER_RSP,
-    BEGIN_INVALIDATE_REQ,
-    BEGIN_INVALIDATE_RSP,
-    WAIT_ON_COMMIT_REQ,
-    WAIT_ON_COMMIT_RSP,
-    INFORM_TXNID_REQ,
-    INFORM_DURABLE_REQ,
-    INFORM_HOME_DURABLE_REQ,
-    CHECK_STATUS_REQ,
-    CHECK_STATUS_RSP,
-}
+    SIMPLE_RSP              (false),
+    PRE_ACCEPT_REQ          (true ),
+    PRE_ACCEPT_RSP          (false),
+    ACCEPT_REQ              (true ),
+    ACCEPT_RSP              (false),
+    ACCEPT_INVALIDATE_REQ   (true ),
+    GET_DEPS_REQ            (false),
+    GET_DEPS_RSP            (false),
+    COMMIT_REQ              (true ),
+    COMMIT_INVALIDATE_REQ   (true ),
+    APPLY_REQ               (true ),
+    APPLY_RSP               (false),
+    READ_REQ                (false),
+    READ_RSP                (false),
+    BEGIN_RECOVER_REQ       (true ),
+    BEGIN_RECOVER_RSP       (false),
+    BEGIN_INVALIDATE_REQ    (true ),
+    BEGIN_INVALIDATE_RSP    (false),
+    WAIT_ON_COMMIT_REQ      (false),
+    WAIT_ON_COMMIT_RSP      (false),
+    INFORM_OF_TXN_REQ       (true ),
+    INFORM_DURABLE_REQ      (true ),
+    INFORM_HOME_DURABLE_REQ (true ),
+    CHECK_STATUS_REQ        (false),
+    CHECK_STATUS_RSP        (false),
+    ;
+
+    /**
+     * If true, indicates that processing of the message has important side 
effects.
+     */
+    public final boolean hasSideEffects;
+
+    MessageType(boolean hasSideEffects)
+    {
+        this.hasSideEffects = hasSideEffects;
+    }
+}
\ No newline at end of file
diff --git a/accord-core/src/main/java/accord/messages/PreAccept.java 
b/accord-core/src/main/java/accord/messages/PreAccept.java
index 5b482169..38f96b51 100644
--- a/accord-core/src/main/java/accord/messages/PreAccept.java
+++ b/accord-core/src/main/java/accord/messages/PreAccept.java
@@ -148,7 +148,7 @@ public class PreAccept extends 
WithUnsynced<PreAccept.PreAcceptReply>
     @Override
     public MessageType type()
     {
-        return MessageType.PREACCEPT_REQ;
+        return MessageType.PRE_ACCEPT_REQ;
     }
 
     public static abstract class PreAcceptReply implements Reply
@@ -156,7 +156,7 @@ public class PreAccept extends 
WithUnsynced<PreAccept.PreAcceptReply>
         @Override
         public MessageType type()
         {
-            return MessageType.PREACCEPT_RSP;
+            return MessageType.PRE_ACCEPT_RSP;
         }
 
         public abstract boolean isOk();


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to