Repository: cassandra
Updated Branches:
  refs/heads/trunk 482cbc0c8 -> fd67615be


make EchoMessage a singleton
patch by dbrosius reviewed by jbellis for CASSANDRA-8972


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fd67615b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fd67615b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fd67615b

Branch: refs/heads/trunk
Commit: fd67615be32daa559b4b7d16ad12300494eda389
Parents: 482cbc0
Author: Dave Brosius <dbros...@mebigfatguy.com>
Authored: Mon Mar 16 22:29:39 2015 -0400
Committer: Dave Brosius <dbros...@mebigfatguy.com>
Committed: Mon Mar 16 22:29:39 2015 -0400

----------------------------------------------------------------------
 src/java/org/apache/cassandra/gms/EchoMessage.java      | 12 +++++++++---
 src/java/org/apache/cassandra/gms/Gossiper.java         |  2 +-
 .../org/apache/cassandra/service/EchoVerbHandler.java   |  2 +-
 3 files changed, 11 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fd67615b/src/java/org/apache/cassandra/gms/EchoMessage.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/gms/EchoMessage.java 
b/src/java/org/apache/cassandra/gms/EchoMessage.java
index 444278f..2d4c095 100644
--- a/src/java/org/apache/cassandra/gms/EchoMessage.java
+++ b/src/java/org/apache/cassandra/gms/EchoMessage.java
@@ -27,10 +27,16 @@ import java.io.IOException;
 import org.apache.cassandra.io.IVersionedSerializer;
 import org.apache.cassandra.io.util.DataOutputPlus;
 
-public class EchoMessage
+public final class EchoMessage
 {
-    public static IVersionedSerializer<EchoMessage> serializer = new 
EchoMessageSerializer();
+       public static final EchoMessage instance = new EchoMessage();
+       
+    public static final IVersionedSerializer<EchoMessage> serializer = new 
EchoMessageSerializer();
 
+       private EchoMessage()
+       {
+       }
+       
     public static class EchoMessageSerializer implements 
IVersionedSerializer<EchoMessage>
     {
         public void serialize(EchoMessage t, DataOutputPlus out, int version) 
throws IOException
@@ -39,7 +45,7 @@ public class EchoMessage
 
         public EchoMessage deserialize(DataInput in, int version) throws 
IOException
         {
-            return new EchoMessage();
+            return EchoMessage.instance;
         }
 
         public long serializedSize(EchoMessage t, int version)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fd67615b/src/java/org/apache/cassandra/gms/Gossiper.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java 
b/src/java/org/apache/cassandra/gms/Gossiper.java
index 1820c06..d7b1ec7 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -899,7 +899,7 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
 
         localState.markDead();
 
-        MessageOut<EchoMessage> echoMessage = new 
MessageOut<EchoMessage>(MessagingService.Verb.ECHO, new EchoMessage(), 
EchoMessage.serializer);
+        MessageOut<EchoMessage> echoMessage = new 
MessageOut<EchoMessage>(MessagingService.Verb.ECHO, EchoMessage.instance, 
EchoMessage.serializer);
         logger.trace("Sending a EchoMessage to {}", addr);
         IAsyncCallback echoHandler = new IAsyncCallback()
         {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fd67615b/src/java/org/apache/cassandra/service/EchoVerbHandler.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/EchoVerbHandler.java 
b/src/java/org/apache/cassandra/service/EchoVerbHandler.java
index 57e7a0d..3d3f69e 100644
--- a/src/java/org/apache/cassandra/service/EchoVerbHandler.java
+++ b/src/java/org/apache/cassandra/service/EchoVerbHandler.java
@@ -35,7 +35,7 @@ public class EchoVerbHandler implements 
IVerbHandler<EchoMessage>
 
     public void doVerb(MessageIn<EchoMessage> message, int id)
     {
-        MessageOut<EchoMessage> echoMessage = new 
MessageOut<EchoMessage>(MessagingService.Verb.REQUEST_RESPONSE, new 
EchoMessage(), EchoMessage.serializer);
+        MessageOut<EchoMessage> echoMessage = new 
MessageOut<EchoMessage>(MessagingService.Verb.REQUEST_RESPONSE, 
EchoMessage.instance, EchoMessage.serializer);
         logger.trace("Sending a EchoMessage reply {}", message.from);
         MessagingService.instance().sendReply(echoMessage, id, message.from);
     }

Reply via email to