public void wrap(DirectBuffer buffer, int offset, int length) { this.msgPackReader.wrap(buffer, offset, length); this.invalidPosition = NO_INVALID_POSITION; this.errorMessage = null; }
public void wrap(DirectBuffer buffer, int offset, int length) { this.msgPackReader.wrap(buffer, offset, length); this.invalidPosition = NO_INVALID_POSITION; this.errorMessage = null; }
@Override public void wrap(DirectBuffer buff, int offset, int length) { reader.wrap(buff, offset, length); try { read(reader); } catch (final Exception e) { throw new RuntimeException( "Could not deserialize object. Deserialization stuck at offset " + reader.getOffset() + " of length " + length, e); } }
@Override public void wrap(DirectBuffer buff, int offset, int length) { reader.wrap(buff, offset, length); try { read(reader); } catch (final Exception e) { throw new RuntimeException( "Could not deserialize object. Deserialization stuck at offset " + reader.getOffset() + " of length " + length, e); } }
private void readInnerValue() { reader.wrap(buffer, cursorOffset, bufferLength - cursorOffset); innerValueState = InnerValueState.Modify; innerValue.read(reader); oldInnerValueLength = innerValue.getEncodedLength(); }
private void readInnerValue() { reader.wrap(buffer, cursorOffset, bufferLength - cursorOffset); innerValueState = InnerValueState.Modify; innerValue.read(reader); oldInnerValueLength = innerValue.getEncodedLength(); }
@Override public Void next() { iterator.next(); final int keyOffset = iterator.getIntKey(); valueOffset = iterator.getIntValue(); reader.wrap(document, keyOffset, documentLength - keyOffset); nameLength = reader.readStringLength(); nameOffset = keyOffset + reader.getOffset(); reader.wrap(document, valueOffset, documentLength - valueOffset); reader.skipValue(); valueLength = reader.getOffset(); return null; }
@Override public Void next() { iterator.next(); final int keyOffset = iterator.getIntKey(); valueOffset = iterator.getIntValue(); reader.wrap(document, keyOffset, documentLength - keyOffset); nameLength = reader.readStringLength(); nameOffset = keyOffset + reader.getOffset(); reader.wrap(document, valueOffset, documentLength - valueOffset); reader.skipValue(); valueLength = reader.getOffset(); return null; }
private MsgPackToken readToken(int index) { queryExecutor.moveToResult(index); reader.wrap(data, queryExecutor.currentResultPosition(), queryExecutor.currentResultLength()); return reader.readToken(); } }
private MsgPackToken readToken(int index) { queryExecutor.moveToResult(index); reader.wrap(data, queryExecutor.currentResultPosition(), queryExecutor.currentResultLength()); return reader.readToken(); } }
private MsgPackToken getPathResult( final JsonPath path, DirectBuffer json, MsgPackReader msgPackReader) { final int pathId = path.id(); // id > 0 if the path is used more than once in the condition final boolean cachable = pathId > 0; final DirectBuffer resultBuffer = cachable ? cache.get(pathId) : null; if (resultBuffer != null) { if (resultBuffer.capacity() == 0) { return MsgPackToken.NIL; } msgPackReader.wrap(resultBuffer, 0, resultBuffer.capacity()); } else { if (!readQueryResult(path.query(), json)) { if (cachable) { cache.put(pathId, 0, 0); } return MsgPackToken.NIL; } final int offset = visitor.currentResultPosition(); final int length = visitor.currentResultLength(); msgPackReader.wrap(json, offset, length); if (cachable) { cache.put(pathId, offset, length); } } return msgPackReader.readToken(); }
private MsgPackToken getPathResult( final JsonPath path, DirectBuffer json, MsgPackReader msgPackReader) { final int pathId = path.id(); // id > 0 if the path is used more than once in the condition final boolean cachable = pathId > 0; final DirectBuffer resultBuffer = cachable ? cache.get(pathId) : null; if (resultBuffer != null) { if (resultBuffer.capacity() == 0) { return MsgPackToken.NIL; } msgPackReader.wrap(resultBuffer, 0, resultBuffer.capacity()); } else { if (!readQueryResult(path.query(), json)) { if (cachable) { cache.put(pathId, 0, 0); } return MsgPackToken.NIL; } final int offset = visitor.currentResultPosition(); final int length = visitor.currentResultLength(); msgPackReader.wrap(json, offset, length); if (cachable) { cache.put(pathId, offset, length); } } return msgPackReader.readToken(); }
public void index(DirectBuffer document) { this.document = document; entries.clear(); final int documentLength = document.capacity(); reader.wrap(document, 0, documentLength); final int variables = reader.readMapHeader(); for (int i = 0; i < variables; i++) { final int keyOffset = reader.getOffset(); reader.skipValue(); final int valueOffset = reader.getOffset(); reader.skipValue(); entries.put(keyOffset, valueOffset); } }
public void index(DirectBuffer document) { this.document = document; entries.clear(); final int documentLength = document.capacity(); reader.wrap(document, 0, documentLength); final int variables = reader.readMapHeader(); for (int i = 0; i < variables; i++) { final int keyOffset = reader.getOffset(); reader.skipValue(); final int valueOffset = reader.getOffset(); reader.skipValue(); entries.put(keyOffset, valueOffset); } }
public void setVariablesLocalFromDocument(long scopeKey, DirectBuffer document) { reader.wrap(document, 0, document.capacity()); final int variables = reader.readMapHeader(); for (int i = 0; i < variables; i++) { final MsgPackToken variableName = reader.readToken(); final int nameLength = variableName.getValueBuffer().capacity(); final int nameOffset = reader.getOffset() - nameLength; final int valueOffset = reader.getOffset(); reader.skipValue(); final int valueLength = reader.getOffset() - valueOffset; setVariableLocal( scopeKey, document, nameOffset, nameLength, document, valueOffset, valueLength); } }
public void setVariablesLocalFromDocument(long scopeKey, DirectBuffer document) { reader.wrap(document, 0, document.capacity()); final int variables = reader.readMapHeader(); for (int i = 0; i < variables; i++) { final MsgPackToken variableName = reader.readToken(); final int nameLength = variableName.getValueBuffer().capacity(); final int nameOffset = reader.getOffset() - nameLength; final int valueOffset = reader.getOffset(); reader.skipValue(); final int valueLength = reader.getOffset() - valueOffset; setVariableLocal( scopeKey, document, nameOffset, nameLength, document, valueOffset, valueLength); } }
protected DirectBuffer revertMapProperties(final DirectBuffer msgPack) { final MsgPackReader reader = new MsgPackReader(); reader.wrap(msgPack, 0, msgPack.capacity()); final int size = reader.readMapHeader(); final UnsafeBuffer buf = new UnsafeBuffer(new byte[msgPack.capacity()]); final MsgPackWriter writer = new MsgPackWriter(); writer.wrap(buf, 0); writer.writeMapHeader(size); int targetOffset = msgPack.capacity(); for (int i = 0; i < size; i++) { final int keySourceOffset = reader.getOffset(); reader.skipValue(); final int valueSourceOffset = reader.getOffset(); final int keyLength = valueSourceOffset - keySourceOffset; reader.skipValue(); final int valueLength = reader.getOffset() - valueSourceOffset; targetOffset -= keyLength + valueLength; buf.putBytes(targetOffset, msgPack, keySourceOffset, keyLength + valueLength); } return buf; } }