#define TypeLastMessage 5
#define TypeRejectedMessage 6
#define TypeTableStatus 7
+#define TypeSlot 8
class Entry : public Liveness {
/* Records whether the information is still live or has been
superceded by a newer update. */
private:
bool islive;
-
protected:
Slot *parentslot;
public:
Entry(Slot *_parentslot) : islive(true), parentslot(_parentslot) {}
-
+ virtual ~Entry() {}
/**
* Returns true if the Entry object is still live.
*/
* array.
*/
virtual int getSize() = 0;
-
-
- /**
- * Returns a char encoding the type of the entry object.
- */
- virtual char getType() = 0;
-
+ virtual void releaseRef() {delete this;}
+ virtual void acquireRef() {}
/**
* Returns a copy of the Entry that can be added to a different slot.
*/
virtual Entry *getCopy(Slot *s) = 0;
+ friend Entry *Entry_decode(Slot *slot, ByteBuffer *bb);
};
/**