A simple queue Class

Dependents:   MxSniffer

Queue.cpp

Committer:
fredqian
Date:
2015-04-09
Revision:
1:abfd5885f80d
Parent:
0:0237fc3fb9ca

File content as of revision 1:abfd5885f80d:

#include "Queue.h"
QUEUE::QUEUE() {
	front=rear=0;
}
void QUEUE::init_queue()
{
	front=rear=0;
}
uint8_t QUEUE::peerqueue()
{
	uint8_t t=RFQUENEMAX;
	if(front==rear)//¶ÓÁÐÊÇ¿Õ
	{
		return RFQUENEMAX;
	}
	t=front;
	return t;
}
uint8_t QUEUE::inqueue()
{
	uint8_t t=RFQUENEMAX;
	if((rear+1)%RFQUENEMAX==front)//¶ÓÁÐÂú
	{
		return RFQUENEMAX ;
	}
	else//·ÇÂú
	{
		t=rear;
		rear=(rear+1)%RFQUENEMAX;
	}
	return t;
}
uint8_t QUEUE::dequeue()
{
	uint8_t t=RFQUENEMAX;
	if(front==rear)//¶ÓÁÐÊÇ¿Õ
	{
		return RFQUENEMAX;
	}
	t=front;
	front=(front+1) % RFQUENEMAX;
	return t;
}
void QUEUE::undodequeue() //used for no ack get
{
	front=(front+RFQUENEMAX-1) % RFQUENEMAX;
	return ;
}