📄 node35.html
字号:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><!--Converted with LaTeX2HTML 96.1 (Feb 5, 1996) by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds --><HTML><HEAD><TITLE>RLC class in C++</TITLE><META NAME="description" CONTENT="RLC class in C++"><META NAME="keywords" CONTENT="gprs"><META NAME="resource-type" CONTENT="document"><META NAME="distribution" CONTENT="global"><LINK REL=STYLESHEET HREF="gprs.css"></HEAD><BODY LANG="EN"> <A NAME="tex2html478" HREF="node36.html"><IMG WIDTH=37 HEIGHT=24 ALIGN=BOTTOM ALT="next" SRC="http://cbl.leeds.ac.uk/nikos/figs/next_motif.gif"></A> <A NAME="tex2html476" HREF="node34.html"><IMG WIDTH=26 HEIGHT=24 ALIGN=BOTTOM ALT="up" SRC="http://cbl.leeds.ac.uk/nikos/figs/up_motif.gif"></A> <A NAME="tex2html470" HREF="node34.html"><IMG WIDTH=63 HEIGHT=24 ALIGN=BOTTOM ALT="previous" SRC="http://cbl.leeds.ac.uk/nikos/figs/previous_motif.gif"></A> <BR><B> Next:</B> <A NAME="tex2html479" HREF="node36.html">Parameters</A><B>Up:</B> <A NAME="tex2html477" HREF="node34.html">Radio Link Control (RLC)</A><B> Previous:</B> <A NAME="tex2html471" HREF="node34.html">Radio Link Control (RLC)</A><BR> <P><H2><A NAME="SECTION00141000000000000000">RLC class in C++</A></H2><P>The RLC class derives from the LinkDelay class. The code can be found in<I> ns</I>/ll-timers.{cc,h} and <I> ns</I>/ll.{cc,h}. The functions and variables of theclass are shown below<P><PRE>class RLC : public LinkDelay { friend class rlcTxTimer; //rtx timer for data pkts friend class rlcackTimer; //rtx timer for rlc ackspublic: : //new funcs virtual void recvACK(Packet* p); //recv ack pkts virtual void recvDATA(Packet* p); //recv data pkts virtual void sendUpDATA(Packet* p); //reassemble and send data up virtual void enqueDATA(Packet* p); //frag and enque data virtual void sendDownDATA(void); //send data down virtual void sendACK(Packet* p); //send rlc ack : virtual void RetransmitDATA(void); //rtx data on timeout virtual void RetransmitACK(void); //rtx rlc on timeout virtual void sendDownDATAonACK(void); //send data when recv ack : protected: int command(int argc, const char*const* argv); static int rlcverbose_; int seqno_; // rlc sequence number int ackno_; // ACK received so far int rackno_; // seq no of left most pkt int macDA_; // destination MAC address int window_; //window size for sack Queue* ifq_; // interface queue PacketQueue* buf_; // queue to store frag pkts to sendDown PacketQueue* Txbuf_; // Tx buffer PacketQueue* Rxbuf_; // Rx buffer : int acked_; //RLC layer acked? int rlcfraged_; //RLC layer PDU fragmented? int rlcfragsz_; //RLC layer frag size int datacounter; //no of rtx for data int ackcounter; //no of rtx for rlc ack Packet *pktTx_; //store rtx data Packet *pktRx_; //store rtx rlc ack int inseq_; //flag for pkts in seq in unack mode int unackseqno_; //seqno when in unack mode int numdups; //no of dupacks for sack : }</PRE><P><BR> <HR><P><ADDRESS><I>Richa Jain (96D07007) <BR>Tue Jul 24 22:29:53 IST 2001</I></ADDRESS></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -