本文整理汇总了Java中net.spy.memcached.CachedData.getData方法的典型用法代码示例。如果您正苦于以下问题:Java CachedData.getData方法的具体用法?Java CachedData.getData怎么用?Java CachedData.getData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.spy.memcached.CachedData
的用法示例。
在下文中一共展示了CachedData.getData方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: decode
import net.spy.memcached.CachedData; //导入方法依赖的package包/类
@Override
public CachedResponse decode(CachedData d) {
try {
byte[] cachedData = d.getData();
int headerSeparatorIndex = Bytes.indexOf(cachedData, HEADER_SEPARATOR);
if (headerSeparatorIndex < 0) {
return null;
}
BufferedReader headerReader = new BufferedReader(new InputStreamReader(
new ByteArrayInputStream(cachedData, 0, headerSeparatorIndex),
Charsets.US_ASCII)
);
int statusCode = readStatusCode(headerReader);
MultivaluedMap<String, String> headers = readHeaders(headerReader);
byte[] responseContent = Arrays.copyOfRange(cachedData, headerSeparatorIndex + HEADER_SEPARATOR.length, cachedData.length);
return new CachedResponse(statusCode, headers, responseContent);
} catch (IOException ex) {
throw new RuntimeException("Corrupted cache entry", ex);
}
}
示例2: decode
import net.spy.memcached.CachedData; //导入方法依赖的package包/类
@Override
public Object decode(final CachedData d) {
final byte[] bytes = d.getData();
try (Input input = new Input(new ByteArrayInputStream(bytes))) {
final Object obj = kryo.readClassAndObject(input);
return obj;
}
}
示例3: decode
import net.spy.memcached.CachedData; //导入方法依赖的package包/类
@Override
public Object decode(final CachedData d) {
final byte[] bytes = d.getData();
try (final Input input = new Input(new ByteArrayInputStream(bytes))) {
final Object obj = kryo.readClassAndObject(input);
return obj;
}
}
示例4: decode
import net.spy.memcached.CachedData; //导入方法依赖的package包/类
@Override
public Object decode(final CachedData d) {
final byte[] bytes = d.getData();
try (Input input = new Input(new ByteArrayInputStream(bytes))) {
final Object obj = this.kryo.readClassAndObject(input);
return obj;
}
}
示例5: decode
import net.spy.memcached.CachedData; //导入方法依赖的package包/类
@Override
public Object decode(final CachedData d) {
final byte[] bytes = d.getData();
final Input input = new Input(new ByteArrayInputStream(bytes));
final Object obj = kryo.readClassAndObject(input);
IOUtils.closeQuietly(input);
return obj;
}
示例6: decode
import net.spy.memcached.CachedData; //导入方法依赖的package包/类
@Override
public CachedResponse decode(CachedData d) {
try (final ByteArrayInputStream bais = new ByteArrayInputStream(d.getData());
final Input input = new Input(bais)){
return kryo.readObject(input, CachedResponse.class);
} catch (IOException e) {
throw new MemcacheRestCacheException("Could not decode " + CachedResponse.class.getName(), e);
}
}
示例7: decode
import net.spy.memcached.CachedData; //导入方法依赖的package包/类
@Override
public Object decode(CachedData data) {
int flags = data.getFlags();
byte[] decodedBytes = data.getData();
boolean compressed = (flags & COMPRESS_FLAG) > 0;
if (compressed) {
decodedBytes = decompress(decodedBytes);
}
Kryo kryo = createKryo();
return kryo.readClassAndObject(new Input(decodedBytes));
}
示例8: decode
import net.spy.memcached.CachedData; //导入方法依赖的package包/类
public Object decode(CachedData d) {
byte[] data = d.getData();
Object rv = null;
int flags = d.getFlags() & SPECIAL_MASK;
if ((d.getFlags() & SERIALIZED) != 0 && data != null) {
rv = deserialize(data);
} else if (flags != 0 && data != null) {
switch (flags) {
case SPECIAL_BOOLEAN:
rv = Boolean.valueOf(tu.decodeBoolean(data));
break;
case SPECIAL_INT:
rv = new Integer(tu.decodeInt(data));
break;
case SPECIAL_LONG:
rv = new Long(tu.decodeLong(data));
break;
case SPECIAL_DATE:
rv = new Date(tu.decodeLong(data));
break;
case SPECIAL_BYTE:
rv = new Byte(tu.decodeByte(data));
break;
case SPECIAL_FLOAT:
rv = new Float(Float.intBitsToFloat(tu.decodeInt(data)));
break;
case SPECIAL_DOUBLE:
rv = new Double(Double.longBitsToDouble(tu.decodeLong(data)));
break;
case SPECIAL_BYTEARRAY:
rv = data;
break;
default:
getLogger().warn("Undecodeable with flags %x", flags);
}
} else {
rv = decodeString(data);
}
return rv;
}
示例9: decode
import net.spy.memcached.CachedData; //导入方法依赖的package包/类
public Object decode(CachedData d) {
byte[] data = d.getData();
if ((d.getFlags() & COMPRESSED) != 0) {
try {
return Snappy.uncompress(data,0,data.length);
} catch (Exception e) {
getLogger().warn("Unable to Uncompress");
data = null;
}
}
return data;
}
示例10: decode
import net.spy.memcached.CachedData; //导入方法依赖的package包/类
public Object decode(CachedData d) {
byte[] data = d.getData();
Object rv = null;
if ((d.getFlags() & COMPRESSED) != 0) {
data = decompress(d.getData());
}
if ((d.getFlags() & SERIALIZED) != 0) {
rv = deserialize(data);
} else {
int f = d.getFlags() & ~COMPRESSED;
switch (f) {
case SPECIAL_BOOLEAN:
rv = Boolean.valueOf(this.decodeBoolean(data));
break;
case SPECIAL_INT:
rv = Integer.valueOf(tu.decodeInt(data));
break;
case SPECIAL_SHORT:
rv = Short.valueOf((short) tu.decodeInt(data));
break;
case SPECIAL_LONG:
rv = Long.valueOf(tu.decodeLong(data));
break;
case SPECIAL_DATE:
rv = new Date(tu.decodeLong(data));
break;
case SPECIAL_BYTE:
rv = Byte.valueOf(tu.decodeByte(data));
break;
case SPECIAL_FLOAT:
rv = new Float(Float.intBitsToFloat(tu.decodeInt(data)));
break;
case SPECIAL_DOUBLE:
rv = new Double(Double.longBitsToDouble(tu.decodeLong(data)));
break;
case SPECIAL_BYTEARRAY:
rv = data;
break;
case SPECIAL_STRING:
rv = decodeString(data);
break;
case SPECIAL_STRINGBUFFER:
rv = new StringBuffer(decodeString(data));
break;
case SPECIAL_STRINGBUILDER:
rv = new StringBuilder(decodeString(data));
break;
case SPECIAL_CHARACTER:
rv = decodeCharacter(data);
break;
default:
getLogger().warn("Cannot handle data with flags %x", f);
}
}
return rv;
}
示例11: decode
import net.spy.memcached.CachedData; //导入方法依赖的package包/类
public Object decode(CachedData d) {
byte[] data = d.getData();
Object rv = null;
if ((d.getFlags() & COMPRESSED) != 0) {
data = decompress(d.getData());
}
if ((d.getFlags() & SERIALIZED) != 0) {
rv = deserialize(data);
} else {
int f = data[0];
switch (f) {
case SPECIAL_BOOLEAN:
rv = decodeBoolean(data);
break;
case SPECIAL_INTEGER:
rv = decodeInteger(data);
break;
case SPECIAL_SHORT:
rv = decodeShort(data);
break;
case SPECIAL_LONG:
rv = decodeLong(data);
break;
case SPECIAL_DATE:
rv = new Date(decodeLong(data));
break;
case SPECIAL_BYTE:
rv = decodeByte(data);
break;
case SPECIAL_FLOAT:
rv = decodeFloat(data);
break;
case SPECIAL_DOUBLE:
rv = decodeDouble(data);
break;
case SPECIAL_STRING:
rv = decodeW1String(data);
break;
case SPECIAL_STRINGBUFFER:
rv = new StringBuffer(decodeW1String(data));
break;
case SPECIAL_STRINGBUILDER:
rv = new StringBuilder(decodeW1String(data));
break;
case SPECIAL_CHARACTER:
rv = decodeCharacter(data);
break;
default:
getLogger().warn("Cannot handle data with flags %x", f);
}
}
return rv;
}
示例12: decode
import net.spy.memcached.CachedData; //导入方法依赖的package包/类
public Object decode(CachedData d) {
byte[] data = d.getData();
Object rv = null;
if ((d.getFlags() & COMPRESSED) != 0) {
data = decompress(d.getData());
}
int flags = d.getFlags() & SPECIAL_MASK;
if ((d.getFlags() & SERIALIZED) != 0 && data != null) {
rv = deserialize(data);
} else if (flags != 0 && data != null) {
switch (flags) {
case SPECIAL_BOOLEAN:
rv = Boolean.valueOf(tu.decodeBoolean(data));
break;
case SPECIAL_INT:
rv = Integer.valueOf(tu.decodeInt(data));
break;
case SPECIAL_LONG:
rv = Long.valueOf(tu.decodeLong(data));
break;
case SPECIAL_DATE:
rv = new Date(tu.decodeLong(data));
break;
case SPECIAL_BYTE:
rv = Byte.valueOf(tu.decodeByte(data));
break;
case SPECIAL_FLOAT:
rv = new Float(Float.intBitsToFloat(tu.decodeInt(data)));
break;
case SPECIAL_DOUBLE:
rv = new Double(Double.longBitsToDouble(tu.decodeLong(data)));
break;
case SPECIAL_BYTEARRAY:
rv = data;
break;
default:
getLogger().warn("Undecodeable with flags %x", flags);
}
} else {
rv = decodeString(data);
}
return rv;
}
示例13: encode
import net.spy.memcached.CachedData; //导入方法依赖的package包/类
@Override
public CachedObject encode(final Object o) {
CachedData cachedData = transcoder.encode(o);
return new CachedObjectImpl(cachedData.getFlags(), cachedData.getData());
}
示例14: decode
import net.spy.memcached.CachedData; //导入方法依赖的package包/类
@Override
public byte[] decode(final CachedData cachedData) {
return cachedData.getData();
}
示例15: decode
import net.spy.memcached.CachedData; //导入方法依赖的package包/类
public byte[] decode(CachedData d) {
return d.getData();
}