tabbing
[iotcloud.git] / version2 / src / C / Slot.h
index f42aa689c5d3d0baf996fbc929317792429e5b42..b46e2ab822b298dd95bcc951f08ee4deeaa1868b 100644 (file)
@@ -1,55 +1,60 @@
 #ifndef SLOT_H
 #define SLOT_H
 
+#include "common.h"
+#include "Liveness.h"
+
+
 #define SLOT_SIZE 2048
 #define HMAC_SIZE 32
 
 class Slot : public Liveness {
- private:
+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;
+       int64_t machineid;
        /** Vector of entries in this slot. */
-       Vector<Entry *> * entries;
+       Vector<Entry *> *entries;
        /** Pieces of information that are live. */
        int livecount;
        /** Flag that indicates whether this slot is still live for
         * recording the machine that sent it. */
-  bool seqnumlive;
+       bool seqnumlive;
        /** Number of chars of free space. */
        int freespace;
        /** Reference to Table */
-       Table * table;
+       Table *table;
 
        int64_t localSequenceNumber;
-       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);
-
-       char* getHMAC() { return hmac; }
-       char* getPrevHMAC() { return prevhmac; }
-       Entry * addEntry(Entry * e);
-       void removeEntry(Entry * e);
-       bool hasSpace(Entry * e);
-       Vector<Entry *> * getEntries();
-       char* encode(Mac * mac);
+       void addShallowEntry(Entry *e);
+
+public:
+       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);
+
+       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();
+       Array<char> *encode(Mac *mac);
        int getBaseSize() { return 2 * HMAC_SIZE + 2 * sizeof(int64_t) + sizeof(int); }
-       Vector<Entry *> * getLiveEntries(bool resize);
+       Vector<Entry *> *getLiveEntries(bool resize);
        int64_t getSequenceNumber() { return seqnum; }
        int64_t getMachineID() { return machineid; }
        void setDead();
        void decrementLiveCount();
        bool isLive() { return livecount > 0; }
-  char* getSlotCryptIV();
+       Array<char> *getSlotCryptIV();
+       friend Slot *Slotdecode(Table *table, Array<char> *array, Mac *mac);
 };
 
-Slot * Slotdecode(Table * table, char* array, Mac *mac);
+Slot *Slotdecode(Table *table, Array<char> *array, Mac *mac);
 #endif