@Override public Object read(ByteBuffer buff) { Object[] array = new Object[arrayLength]; for (int i = 0; i < arrayLength; i++) { DataType t = elementTypes[i]; if (buff.get() == 1) { array[i] = t.read(buff); } } return array; }
@Override public Object read(ByteBuffer buff) { long operationId = DataUtils.readVarLong(buff); Object value; if (buff.get() == 1) { value = valueType.read(buff); } else { value = null; } return new VersionedValue(operationId, value); }
@Override public void read(ByteBuffer buff, Object[] obj, int len, boolean key) { if (buff.get() == 0) { // fast path (no op ids or null entries) for (int i = 0; i < len; i++) { obj[i] = new VersionedValue(0L, valueType.read(buff)); } } else { // slow path (some entries may be null) for (int i = 0; i < len; i++) { obj[i] = read(buff); } } }
@Override public Object read(ByteBuffer buff) { Object[] array = new Object[arrayLength]; for (int i = 0; i < arrayLength; i++) { DataType t = elementTypes[i]; if (buff.get() == 1) { array[i] = t.read(buff); } } return array; }
@Override public Object read(ByteBuffer buff) { Object[] array = new Object[arrayLength]; for (int i = 0; i < arrayLength; i++) { DataType t = elementTypes[i]; if (buff.get() == 1) { array[i] = t.read(buff); } } return array; }
@Override public Object read(ByteBuffer buff) { VersionedValue v = new VersionedValue(); v.operationId = DataUtils.readVarLong(buff); if (buff.get() == 1) { v.value = valueType.read(buff); } return v; }
@Override public Object read(ByteBuffer buff) { VersionedValue v = new VersionedValue(); v.operationId = DataUtils.readVarLong(buff); if (buff.get() == 1) { v.value = valueType.read(buff); } return v; }
@Override public void read(ByteBuffer buff, Object[] obj, int len, boolean key) { if (buff.get() == 0) { // fast path (no op ids or null entries) for (int i = 0; i < len; i++) { VersionedValue v = new VersionedValue(); v.value = valueType.read(buff); obj[i] = v; } } else { // slow path (some entries may be null) for (int i = 0; i < len; i++) { obj[i] = read(buff); } } }
@Override public void read(ByteBuffer buff, Object[] obj, int len, boolean key) { if (buff.get() == 0) { // fast path (no op ids or null entries) for (int i = 0; i < len; i++) { VersionedValue v = new VersionedValue(); v.value = valueType.read(buff); obj[i] = v; } } else { // slow path (some entries may be null) for (int i = 0; i < len; i++) { obj[i] = read(buff); } } }
@Override @SuppressWarnings("unchecked") public void receive(ByteBuffer buff) { K key = (K) keyType.read(buff); V value; if (buff.get() == 0) { value = null; memCache.invalidate(key); memCacheMetadata.remove(key); } else { value = (V) valueType.read(buff); memCacheMetadata.put(key); memCache.put(key, value); } stats.markRecvBroadcast(); if (!async) { write(key, value); } }
@Override @SuppressWarnings("unchecked") public void receive(ByteBuffer buff) { K key = (K) keyType.read(buff); V value; if (buff.get() == 0) { value = null; memCache.invalidate(key); memCacheMetadata.remove(key); } else { value = (V) valueType.read(buff); memCacheMetadata.put(key); memCache.put(key, value); } stats.markRecvBroadcast(); if (!async) { write(key, value); } }