Another file compiles
[iotcloud.git] / version2 / src / C / Slot.h
index 1138fbf3f5afd7b6e929fdfefbfb95ba8399a0f4..c91aac1b1a4e60e5e41d3012c20219286278520c 100644 (file)
@@ -1,6 +1,9 @@
 #ifndef SLOT_H
 #define SLOT_H
 
+#include "common.h"
+#include "Liveness.h"
+
 #define SLOT_SIZE 2048
 #define HMAC_SIZE 32
 
@@ -9,9 +12,9 @@ private:
        /** Sequence number of the slot. */
        int64_t seqnum;
        /** HMAC of previous slot. */
-       char *prevhmac;
+       Array<char> *prevhmac;
        /** HMAC of this slot. */
-       char *hmac;
+       Array<char> *hmac;
        /** Machine that sent this slot. */
        int64_t machineid;
        /** Vector of entries in this slot. */
@@ -30,17 +33,16 @@ private:
        void addShallowEntry(Entry *e);
 
 public:
-       Slot(Table *_table, int64_t _seqnum, int64_t _machineid, char *_prevhmac, char *_hmac, int64_t _localSequenceNumber);
-       Slot(Table _table, int64_t _seqnum, int64_t _machineid, char *_prevhmac, int64_t _localSequenceNumber);
-       Slot(Table _table, int64_t _seqnum, int64_t _machineid, int64_t _localSequenceNumber);
+       Slot(Table *_table, int64_t _seqnum, int64_t _machineid, Array<char> *_prevhmac, Array<char> *_hmac, int64_t _localSequenceNumber);
+       Slot(Table *_table, int64_t _seqnum, int64_t _machineid, Array<char> *_prevhmac, int64_t _localSequenceNumber);
+       Slot(Table *_table, int64_t _seqnum, int64_t _machineid, int64_t _localSequenceNumber);
 
-       char *getHMAC() { return hmac; }
-       char *getPrevHMAC() { return prevhmac; }
+       Array<char> *getHMAC() { return hmac; }
+       Array<char> *getPrevHMAC() { return prevhmac; }
        Entry *addEntry(Entry *e);
-       void removeEntry(Entry *e);
        bool hasSpace(Entry *e);
        Vector<Entry *> *getEntries();
-       char *encode(Mac *mac);
+       Array<char> *encode(Mac *mac);
        int getBaseSize() { return 2 * HMAC_SIZE + 2 * sizeof(int64_t) + sizeof(int); }
        Vector<Entry *> *getLiveEntries(bool resize);
        int64_t getSequenceNumber() { return seqnum; }
@@ -48,8 +50,9 @@ public:
        void setDead();
        void decrementLiveCount();
        bool isLive() { return livecount > 0; }
-       char *getSlotCryptIV();
+       Array<char> *getSlotCryptIV();
+       friend Slot *Slot_decode(Table *table, Array<char> *array, Mac *mac);
 };
 
-Slot *Slotdecode(Table *table, char *array, Mac *mac);
+Slot *Slot_decode(Table *table, Array<char> *array, Mac *mac);
 #endif