A simple queue Class

Dependents:   MxSniffer

Committer:
fredqian
Date:
Thu Apr 09 09:43:56 2015 +0000
Revision:
1:abfd5885f80d
Parent:
0:0237fc3fb9ca
init commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fredqian 0:0237fc3fb9ca 1 #include "Queue.h"
fredqian 0:0237fc3fb9ca 2 QUEUE::QUEUE() {
fredqian 0:0237fc3fb9ca 3 front=rear=0;
fredqian 0:0237fc3fb9ca 4 }
fredqian 0:0237fc3fb9ca 5 void QUEUE::init_queue()
fredqian 0:0237fc3fb9ca 6 {
fredqian 0:0237fc3fb9ca 7 front=rear=0;
fredqian 0:0237fc3fb9ca 8 }
fredqian 0:0237fc3fb9ca 9 uint8_t QUEUE::peerqueue()
fredqian 0:0237fc3fb9ca 10 {
fredqian 0:0237fc3fb9ca 11 uint8_t t=RFQUENEMAX;
fredqian 0:0237fc3fb9ca 12 if(front==rear)//¶ÓÁÐÊÇ¿Õ
fredqian 0:0237fc3fb9ca 13 {
fredqian 0:0237fc3fb9ca 14 return RFQUENEMAX;
fredqian 0:0237fc3fb9ca 15 }
fredqian 0:0237fc3fb9ca 16 t=front;
fredqian 0:0237fc3fb9ca 17 return t;
fredqian 0:0237fc3fb9ca 18 }
fredqian 0:0237fc3fb9ca 19 uint8_t QUEUE::inqueue()
fredqian 0:0237fc3fb9ca 20 {
fredqian 0:0237fc3fb9ca 21 uint8_t t=RFQUENEMAX;
fredqian 0:0237fc3fb9ca 22 if((rear+1)%RFQUENEMAX==front)//¶ÓÁÐÂú
fredqian 0:0237fc3fb9ca 23 {
fredqian 0:0237fc3fb9ca 24 return RFQUENEMAX ;
fredqian 0:0237fc3fb9ca 25 }
fredqian 0:0237fc3fb9ca 26 else//·ÇÂú
fredqian 0:0237fc3fb9ca 27 {
fredqian 0:0237fc3fb9ca 28 t=rear;
fredqian 0:0237fc3fb9ca 29 rear=(rear+1)%RFQUENEMAX;
fredqian 0:0237fc3fb9ca 30 }
fredqian 0:0237fc3fb9ca 31 return t;
fredqian 0:0237fc3fb9ca 32 }
fredqian 0:0237fc3fb9ca 33 uint8_t QUEUE::dequeue()
fredqian 0:0237fc3fb9ca 34 {
fredqian 0:0237fc3fb9ca 35 uint8_t t=RFQUENEMAX;
fredqian 0:0237fc3fb9ca 36 if(front==rear)//¶ÓÁÐÊÇ¿Õ
fredqian 0:0237fc3fb9ca 37 {
fredqian 0:0237fc3fb9ca 38 return RFQUENEMAX;
fredqian 0:0237fc3fb9ca 39 }
fredqian 0:0237fc3fb9ca 40 t=front;
fredqian 0:0237fc3fb9ca 41 front=(front+1) % RFQUENEMAX;
fredqian 0:0237fc3fb9ca 42 return t;
fredqian 0:0237fc3fb9ca 43 }
fredqian 0:0237fc3fb9ca 44 void QUEUE::undodequeue() //used for no ack get
fredqian 0:0237fc3fb9ca 45 {
fredqian 0:0237fc3fb9ca 46 front=(front+RFQUENEMAX-1) % RFQUENEMAX;
fredqian 0:0237fc3fb9ca 47 return ;
fredqian 0:0237fc3fb9ca 48 }
fredqian 0:0237fc3fb9ca 49