📄 node148.html
字号:
<html><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><!--Converted with jLaTeX2HTML 2002 (1.62) JA patch-1.4patched version by: Kenshi Muto, Debian Project.LaTeX2HTML 2002 (1.62),original version by: Nikos Drakos, CBLU, University of Leeds* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan* with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --><HTML><HEAD><TITLE>14.3.3 Channel Class in C++</TITLE><META NAME="description" CONTENT="14.3.3 Channel Class in C++"><META NAME="keywords" CONTENT="everything"><META NAME="resource-type" CONTENT="document"><META NAME="distribution" CONTENT="global"><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"><META NAME="Generator" CONTENT="jLaTeX2HTML v2002 JA patch-1.4"><META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"><LINK REL="STYLESHEET" HREF="everything.css" tppabs="http://www.isi.edu/nsnam/ns/doc/everything.css"><LINK REL="previous" HREF="node147.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node147.html"><LINK REL="up" HREF="node145.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node145.html"><LINK REL="next" HREF="node149.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node149.html"></HEAD><BODY ><!--Navigation Panel--><A NAME="tex2html3562" HREF="node149.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node149.html"><IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="file:/usr/share/latex2html/icons/next.png"></A> <A NAME="tex2html3556" HREF="node145.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node145.html"><IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="file:/usr/share/latex2html/icons/up.png"></A> <A NAME="tex2html3552" HREF="node147.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node147.html"><IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="file:/usr/share/latex2html/icons/prev.png"></A> <A NAME="tex2html3558" HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html"><IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="file:/usr/share/latex2html/icons/contents.png"></A> <A NAME="tex2html3560" HREF="node590.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node590.html"><IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="file:/usr/share/latex2html/icons/index.png"></A> <BR><B> Next:</B> <A NAME="tex2html3563" HREF="node149.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node149.html">14.4 MacClassifier Class</A><B> Up:</B> <A NAME="tex2html3557" HREF="node145.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node145.html">14.3 Channel Class</A><B> Previous:</B> <A NAME="tex2html3553" HREF="node147.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node147.html">14.3.2 Example: Channel and</A>   <B> <A NAME="tex2html3559" HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html">Contents</A></B>   <B> <A NAME="tex2html3561" HREF="node590.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node590.html">Index</A></B> <BR><BR><!--End of Navigation Panel--><H2><A NAME="SECTION031133000000000000000"></A><A NAME="sec:channelcplus"></A><BR>14.3.3 Channel Class in C++</H2><P>In C++, the class Channel extends the Connector objectwith several new methods tosupport a variety of MAC protocols. The class is defined as follow inchannel.h:<P><PRE> class Channel : public Connector { public: Channel(); void recv(Packet* p, Handler*); virtual int send(Packet* p, double txtime); virtual void contention(Packet*, Handler*); int hold(double txtime); virtual int collision() { return numtx_ \> 1; } virtual double txstop() { return txstop_; } . . . };</PRE><P>The important methods of the class <TT>Channel</TT> are:<P><UL><LI><TT>txstop()</TT> method returns the time when the channel will becomeidle, which can be used by the MAC to implement carrier sense.</LI><LI><TT>contention()</TT> method allows the MAC to contend for the channelbefore sending a packet. The channel then use this packet to signal thecorresponding <TT>Mac</TT> object at the end of each contention period.</LI><LI><TT>collision()</TT> method indicates whether a collision occursduring the contention period. When the <TT>Channel</TT> signal the end ofthe contention period, the MAC can use the <TT>collision()</TT> method todetect collision.</LI><LI><TT>send()</TT> method allows the MAC object to transmit a packet on thechannel for a specified duration of time.</LI><LI><TT>hold()</TT> method allows the MAC object to hold the channel for aspecified duration of time without actually transmitting any packets.This is useful in simulating the jamming mechanism of some MACprotocols.</LI></UL><P><HR><!--Navigation Panel--><A NAME="tex2html3562" HREF="node149.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node149.html"><IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="file:/usr/share/latex2html/icons/next.png"></A> <A NAME="tex2html3556" HREF="node145.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node145.html"><IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="file:/usr/share/latex2html/icons/up.png"></A> <A NAME="tex2html3552" HREF="node147.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node147.html"><IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="file:/usr/share/latex2html/icons/prev.png"></A> <A NAME="tex2html3558" HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html"><IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="file:/usr/share/latex2html/icons/contents.png"></A> <A NAME="tex2html3560" HREF="node590.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node590.html"><IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="file:/usr/share/latex2html/icons/index.png"></A> <BR><B> Next:</B> <A NAME="tex2html3563" HREF="node149.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node149.html">14.4 MacClassifier Class</A><B> Up:</B> <A NAME="tex2html3557" HREF="node145.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node145.html">14.3 Channel Class</A><B> Previous:</B> <A NAME="tex2html3553" HREF="node147.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node147.html">14.3.2 Example: Channel and</A>   <B> <A NAME="tex2html3559" HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html">Contents</A></B>   <B> <A NAME="tex2html3561" HREF="node590.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node590.html">Index</A></B> <!--End of Navigation Panel--><ADDRESS>2003-09-23</ADDRESS></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -