X-Git-Url: http://plrg.eecs.uci.edu/git/?p=iotcloud.git;a=blobdiff_plain;f=version2%2Fsrc%2FC%2FSlot.h;h=b46e2ab822b298dd95bcc951f08ee4deeaa1868b;hp=76e0fb4e5fbe3d62e6a54afcaf5da0011036cd59;hb=2d567b75be4055f6a40ffe1cedb5cdc9be262d86;hpb=7262ffd03fa5a5f9e92977e7e3cc04dd2c2ff6e0;ds=sidebyside diff --git a/version2/src/C/Slot.h b/version2/src/C/Slot.h index 76e0fb4..b46e2ab 100644 --- a/version2/src/C/Slot.h +++ b/version2/src/C/Slot.h @@ -13,9 +13,9 @@ private: /** Sequence number of the slot. */ int64_t seqnum; /** HMAC of previous slot. */ - char *prevhmac; + Array *prevhmac; /** HMAC of this slot. */ - char *hmac; + Array *hmac; /** Machine that sent this slot. */ int64_t machineid; /** Vector of entries in this slot. */ @@ -34,17 +34,17 @@ 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 *_prevhmac, Array *_hmac, int64_t _localSequenceNumber); + Slot(Table *_table, int64_t _seqnum, int64_t _machineid, Array *_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 *getHMAC() { return hmac; } + Array *getPrevHMAC() { return prevhmac; } Entry *addEntry(Entry *e); void removeEntry(Entry *e); bool hasSpace(Entry *e); Vector *getEntries(); - char *encode(Mac *mac); + Array *encode(Mac *mac); int getBaseSize() { return 2 * HMAC_SIZE + 2 * sizeof(int64_t) + sizeof(int); } Vector *getLiveEntries(bool resize); int64_t getSequenceNumber() { return seqnum; } @@ -52,8 +52,9 @@ public: void setDead(); void decrementLiveCount(); bool isLive() { return livecount > 0; } - char *getSlotCryptIV(); + Array *getSlotCryptIV(); + friend Slot *Slotdecode(Table *table, Array *array, Mac *mac); }; -Slot *Slotdecode(Table *table, char *array, Mac *mac); +Slot *Slotdecode(Table *table, Array *array, Mac *mac); #endif