edits
[iotcloud.git] / version2 / src / C / NewKey.cc
1 #include "NewKey.h"
2 #include "ByteBuffer.h"
3 #include "IoTString.h"
4
5 Entry *decode(Slot *slot, ByteBuffer *bb) {
6         int keylength = bb->getInt();
7         Array<char> *key = new Array<char>(keylength);
8         bb->get(key);
9         int64_t machineid = bb->getLong();
10
11         return new NewKey(slot, IoTString_shallow(key), machineid);
12 }
13
14 void NewKey::encode(ByteBuffer *bb) {
15         bb->put(TypeNewKey);
16         bb->putInt(key->length());
17         bb->put(key->internalBytes());
18         bb->putLong(machineid);
19 }
20
21 int NewKey::getSize() {
22         return sizeof(int64_t) + sizeof(char) + sizeof(int32_t) + key->length();
23 }