2 #include "ByteBuffer.h"
5 NewKey::NewKey(Slot *slot, IoTString *_key, int64_t _machineid) :
7 key(new IoTString(_key)),
8 machineid(_machineid) {
15 Entry *NewKey_decode(Slot *slot, ByteBuffer *bb) {
16 int keylength = bb->getInt();
17 Array<char> *key = new Array<char>(keylength);
19 int64_t machineid = bb->getLong();
20 IoTString *str = IoTString_shallow(key);
21 NewKey *newkey = new NewKey(slot, str, machineid);
26 Entry *NewKey::getCopy(Slot *s) { return new NewKey(s, key, machineid); }
28 void NewKey::encode(ByteBuffer *bb) {
30 bb->putInt(key->length());
31 bb->put(key->internalBytes());
32 bb->putLong(machineid);
35 int NewKey::getSize() {
36 return sizeof(int64_t) + sizeof(char) + sizeof(int32_t) + key->length();