[infinispan-commits] Infinispan SVN: r1866 - in trunk/server: hotrod/src/main/scala/org/infinispan/server/hotrod and 1 other directories.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Thu May 27 13:22:27 EDT 2010


Author: galder.zamarreno at jboss.com
Date: 2010-05-27 13:22:26 -0400 (Thu, 27 May 2010)
New Revision: 1866

Modified:
   trunk/server/core/src/main/scala/org/infinispan/server/core/AbstractProtocolDecoder.scala
   trunk/server/hotrod/src/main/scala/org/infinispan/server/hotrod/AbstractVersionedDecoder.scala
   trunk/server/hotrod/src/main/scala/org/infinispan/server/hotrod/Decoder10.scala
   trunk/server/hotrod/src/main/scala/org/infinispan/server/hotrod/HotRodDecoder.scala
   trunk/server/memcached/src/main/scala/org/infinispan/server/memcached/MemcachedDecoder.scala
Log:
[ISPN-467] (Hot Rod should not call into readKeys) Done.

Modified: trunk/server/core/src/main/scala/org/infinispan/server/core/AbstractProtocolDecoder.scala
===================================================================
--- trunk/server/core/src/main/scala/org/infinispan/server/core/AbstractProtocolDecoder.scala	2010-05-27 07:46:42 UTC (rev 1865)
+++ trunk/server/core/src/main/scala/org/infinispan/server/core/AbstractProtocolDecoder.scala	2010-05-27 17:22:26 UTC (rev 1866)
@@ -134,19 +134,9 @@
          createNotExistResponse(header, params)
    }
 
-   private def get(header: SuitableHeader, buffer: ChannelBuffer, cache: Cache[K, V]): AnyRef = {
-      val keys = readKeys(header, buffer)
-      if (keys.length > 1) {
-         val map = new HashMap[K,V]()
-         for (k <- keys) {
-            val v = cache.get(k)
-            if (v != null)
-               map += (k -> v)
-         }
-         createMultiGetResponse(header, new immutable.HashMap ++ map)
-      } else {
-         createGetResponse(header, keys.head, cache.get(keys.head))
-      }
+   protected def get(header: SuitableHeader, buffer: ChannelBuffer, cache: Cache[K, V]): AnyRef = {
+      val key = readKey(header, buffer)
+      createGetResponse(header, key, cache.get(key))
    }
 
    override def exceptionCaught(ctx: ChannelHandlerContext, e: ExceptionEvent) {
@@ -169,8 +159,6 @@
 
    protected def readKey(h: SuitableHeader, b: ChannelBuffer): K
 
-   protected def readKeys(h: SuitableHeader, b: ChannelBuffer): Array[K]
-
    protected def readParameters(h: SuitableHeader, b: ChannelBuffer): Option[SuitableParameters]
 
    protected def createValue(h: SuitableHeader, p: SuitableParameters, nextVersion: Long): V

Modified: trunk/server/hotrod/src/main/scala/org/infinispan/server/hotrod/AbstractVersionedDecoder.scala
===================================================================
--- trunk/server/hotrod/src/main/scala/org/infinispan/server/hotrod/AbstractVersionedDecoder.scala	2010-05-27 07:46:42 UTC (rev 1865)
+++ trunk/server/hotrod/src/main/scala/org/infinispan/server/hotrod/AbstractVersionedDecoder.scala	2010-05-27 17:22:26 UTC (rev 1866)
@@ -17,8 +17,6 @@
 
    def readKey(buffer: ChannelBuffer): CacheKey
 
-   def readKeys(buffer: ChannelBuffer): Array[CacheKey]
-
    def readParameters(header: HotRodHeader, buffer: ChannelBuffer): Option[RequestParameters]
 
    def createValue(params: RequestParameters, nextVersion: Long): CacheValue

Modified: trunk/server/hotrod/src/main/scala/org/infinispan/server/hotrod/Decoder10.scala
===================================================================
--- trunk/server/hotrod/src/main/scala/org/infinispan/server/hotrod/Decoder10.scala	2010-05-27 07:46:42 UTC (rev 1865)
+++ trunk/server/hotrod/src/main/scala/org/infinispan/server/hotrod/Decoder10.scala	2010-05-27 17:22:26 UTC (rev 1866)
@@ -47,8 +47,6 @@
 
    override def readKey(buffer: ChannelBuffer): CacheKey = new CacheKey(buffer.readRangedBytes)
 
-   override def readKeys(buffer: ChannelBuffer): Array[CacheKey] = Array(new CacheKey(buffer.readRangedBytes))
-
    override def readParameters(header: HotRodHeader, buffer: ChannelBuffer): Option[RequestParameters] = {
       header.op match {
          case RemoveRequest => None

Modified: trunk/server/hotrod/src/main/scala/org/infinispan/server/hotrod/HotRodDecoder.scala
===================================================================
--- trunk/server/hotrod/src/main/scala/org/infinispan/server/hotrod/HotRodDecoder.scala	2010-05-27 07:46:42 UTC (rev 1865)
+++ trunk/server/hotrod/src/main/scala/org/infinispan/server/hotrod/HotRodDecoder.scala	2010-05-27 17:22:26 UTC (rev 1866)
@@ -80,9 +80,6 @@
    override def readKey(h: HotRodHeader, b: ChannelBuffer): CacheKey =
       h.decoder.readKey(b)
 
-   override def readKeys(h: HotRodHeader, b: ChannelBuffer): Array[CacheKey] =
-      h.decoder.readKeys(b)
-
    override def readParameters(h: HotRodHeader, b: ChannelBuffer): Option[RequestParameters] =
       h.decoder.readParameters(h, b)
 

Modified: trunk/server/memcached/src/main/scala/org/infinispan/server/memcached/MemcachedDecoder.scala
===================================================================
--- trunk/server/memcached/src/main/scala/org/infinispan/server/memcached/MemcachedDecoder.scala	2010-05-27 07:46:42 UTC (rev 1865)
+++ trunk/server/memcached/src/main/scala/org/infinispan/server/memcached/MemcachedDecoder.scala	2010-05-27 17:22:26 UTC (rev 1866)
@@ -12,9 +12,10 @@
 import org.infinispan.server.core.transport.ChannelBuffer
 import org.infinispan.server.core._
 import org.infinispan.{AdvancedCache, Version, CacheException, Cache}
-import collection.mutable.ListBuffer
 import org.infinispan.server.core.transport.ChannelBuffers._
 import org.infinispan.util.Util
+import collection.mutable.{HashMap, ListBuffer}
+import scala.collection.immutable
 
 /**
  * // TODO: Document this
@@ -49,11 +50,26 @@
 
    override def readKey(h: RequestHeader, b: ChannelBuffer): String = readElement(b)
 
-   override def readKeys(h: RequestHeader, b: ChannelBuffer): Array[String] = {
+   private def readKeys(h: RequestHeader, b: ChannelBuffer): Array[String] = {
       val line = readLine(b)
       line.trim.split(" +")
    }
 
+   override protected def get(h: RequestHeader, buffer: ChannelBuffer, cache: Cache[String, MemcachedValue]): AnyRef = {
+      val keys = readKeys(h, buffer)
+      if (keys.length > 1) {
+         val map = new HashMap[String, MemcachedValue]()
+         for (k <- keys) {
+            val v = cache.get(k)
+            if (v != null)
+               map += (k -> v)
+         }
+         createMultiGetResponse(h, new immutable.HashMap ++ map)
+      } else {
+         createGetResponse(h, keys.head, cache.get(keys.head))
+      }
+   }
+
    override def readParameters(h: RequestHeader, b: ChannelBuffer): Option[MemcachedParameters] = {
       val line = readLine(b)
       if (!line.isEmpty) {



More information about the infinispan-commits mailing list