[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