2 import java.nio.ByteBuffer;
4 class KeyValue extends Entry {
6 private IoTString value;
8 KeyValue(Slot slot, IoTString _key, IoTString _value) {
18 IoTString getValue() {
22 static Entry decode(Slot slot, ByteBuffer bb) {
23 int keylength=bb.getInt();
24 int valuelength=bb.getInt();
25 byte[] key=new byte[keylength];
26 byte[] value=new byte[valuelength];
29 return new KeyValue(slot, IoTString.shallow(key), IoTString.shallow(value));
32 void encode(ByteBuffer bb) {
33 bb.put(Entry.TypeKeyValue);
34 bb.putInt(key.length());
35 bb.putInt(value.length());
36 bb.put(key.internalBytes());
37 bb.put(value.internalBytes());
41 return 2*Integer.BYTES+key.length()+value.length()+Byte.BYTES;
45 return Entry.TypeKeyValue;