@Override public S fromByteBuffer(ByteBuffer bytes) { if ((bytes == null) || !bytes.hasArray()) { return null; } bytes = bytes.duplicate(); bytes.rewind(); if (bytes.limit() < prefixBytes.remaining()) { log.error("Unprefixed value received, throwing exception..."); throw new HectorSerializationException("Unexpected prefix value"); } if (compareByteArrays(prefixBytes.array(), prefixBytes.arrayOffset() + prefixBytes.position(), prefixBytes.remaining(), bytes.array(), bytes.arrayOffset() + bytes.position(), prefixBytes.remaining()) != 0) { return null; // incorrect prefix, return nothing } bytes.position(prefixBytes.remaining()); S s = suffixSerializer.fromByteBuffer(bytes); return s; }
@Override public S fromByteBuffer(ByteBuffer bytes) { if ((bytes == null) || !bytes.hasArray()) { return null; } bytes = bytes.duplicate(); bytes.rewind(); if (compareByteArrays(prefixBytes.array(), prefixBytes.arrayOffset() + prefixBytes.position(), prefixBytes.remaining(), bytes.array(), bytes.arrayOffset() + bytes.position(), prefixBytes.remaining()) != 0) { log.error("Unprefixed value received, throwing exception..."); throw new HectorSerializationException("Unexpected prefix value"); } bytes.position(prefixBytes.remaining()); S s = suffixSerializer.fromByteBuffer(bytes); return s; }
@Override public S fromByteBuffer(ByteBuffer bytes) { if ((bytes == null) || !bytes.hasArray()) { return null; } bytes = bytes.duplicate(); bytes.rewind(); if (bytes.limit() < prefixBytes.remaining()) { log.error("Unprefixed value received, throwing exception..."); throw new HectorSerializationException("Unexpected prefix value"); } if (compareByteArrays(prefixBytes.array(), prefixBytes.arrayOffset() + prefixBytes.position(), prefixBytes.remaining(), bytes.array(), bytes.arrayOffset() + bytes.position(), prefixBytes.remaining()) != 0) { return null; // incorrect prefix, return nothing } bytes.position(prefixBytes.remaining()); S s = suffixSerializer.fromByteBuffer(bytes); return s; }