@Override public void read(MsgPackReader reader) { final int mapSize = reader.readMapHeader();
@Override public void read(MsgPackReader reader) { final int mapSize = reader.readMapHeader();
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); } }
case MAP: token.setType(MsgPackType.MAP); token.setMapHeader(readMapHeader()); break; case ARRAY:
case MAP: token.setType(MsgPackType.MAP); token.setMapHeader(readMapHeader()); break; case ARRAY:
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; } }