summaryrefslogtreecommitdiff
path: root/dev/pktfifo.hh
diff options
context:
space:
mode:
Diffstat (limited to 'dev/pktfifo.hh')
-rw-r--r--dev/pktfifo.hh14
1 files changed, 8 insertions, 6 deletions
diff --git a/dev/pktfifo.hh b/dev/pktfifo.hh
index 0b2e95e2a..0c237949c 100644
--- a/dev/pktfifo.hh
+++ b/dev/pktfifo.hh
@@ -46,15 +46,16 @@ class PacketFifo
int _reserved;
public:
- explicit PacketFifo(int max) : _maxsize(max), _size(0) {}
+ explicit PacketFifo(int max) : _maxsize(max), _size(0), _reserved(0) {}
virtual ~PacketFifo() {}
- int maxsize() const { return _maxsize; }
int packets() const { return fifo.size(); }
- int size() const { return _size + _reserved; }
- int avail() const { return maxsize() - size(); }
- bool empty() const { return size() == 0; }
- bool full() const { return size() >= maxsize(); }
+ int maxsize() const { return _maxsize; }
+ int size() const { return _size; }
+ int reserved() const { return _reserved; }
+ int avail() const { return _maxsize - _size - _reserved; }
+ bool empty() const { return size() <= 0; }
+ bool full() const { return avail() <= 0; }
int reserve(int len = 0)
{
@@ -91,6 +92,7 @@ class PacketFifo
{
fifo.clear();
_size = 0;
+ _reserved = 0;
}
/**