#include "NewKey.h"
#include "ByteBuffer.h"
+#include "IoTString.h"
+
+NewKey::NewKey(Slot *slot, IoTString *_key, int64_t _machineid) :
+ Entry(slot),
+ key(new IoTString(_key)),
+ machineid(_machineid) {
+}
+
+NewKey::~NewKey() {
+ delete key;
+}
Entry *decode(Slot *slot, ByteBuffer *bb) {
int keylength = bb->getInt();
bb->get(key);
int64_t machineid = bb->getLong();
- return new NewKey(slot, IoTString.shallow(key), machineid);
+ return new NewKey(slot, IoTString_shallow(key), machineid);
}
+Entry *NewKey::getCopy(Slot *s) { return new NewKey(s, new IoTString(key), machineid); }
+
void NewKey::encode(ByteBuffer *bb) {
bb->put(TypeNewKey);
bb->putInt(key->length());
}
int NewKey::getSize() {
- return sizeof(int64_t) + sizeof(char) + sizeof(int32_t) + key.length();
+ return sizeof(int64_t) + sizeof(char) + sizeof(int32_t) + key->length();
}