⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 node492.html

📁 相关搜索: ns2仿真结果分析 all-awk ns2 ns2 无限网络中awk文件 ... [2.tcl.rar] - 在ns2平台上实现对AODV协议的模拟
💻 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>36.1.1 ADU</TITLE><META NAME="description" CONTENT="36.1.1 ADU"><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="next" HREF="node493.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node493.html"><LINK REL="previous" HREF="node491.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node491.html"><LINK REL="up" HREF="node491.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node491.html"><LINK REL="next" HREF="node493.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node493.html"></HEAD><BODY ><!--Navigation Panel--><A NAME="tex2html8992"  HREF="node493.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node493.html"><IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="file:/usr/share/latex2html/icons/next.png"></A> <A NAME="tex2html8986"  HREF="node491.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node491.html"><IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="file:/usr/share/latex2html/icons/up.png"></A> <A NAME="tex2html8980"  HREF="node491.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node491.html"><IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="file:/usr/share/latex2html/icons/prev.png"></A> <A NAME="tex2html8988"  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="tex2html8990"  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="tex2html8993"  HREF="node493.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node493.html">36.1.2 Passing data between</A><B> Up:</B> <A NAME="tex2html8987"  HREF="node491.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node491.html">36.1 Using application-level data</A><B> Previous:</B> <A NAME="tex2html8981"  HREF="node491.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node491.html">36.1 Using application-level data</A> &nbsp <B>  <A NAME="tex2html8989"  HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html">Contents</A></B>  &nbsp <B>  <A NAME="tex2html8991"  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="SECTION07211000000000000000">36.1.1 ADU</A></H2> <P>The functionality of an ADU is similar to that of a Packet. It needs topack user data into an array, which is then included in the user dataarea of an packet by an Agent (this is not supported by currentAgents. User must derive new agents to accept user data fromapplications, or use an wrapper like TcpApp. We'll discuss thislater). <P>Compared with Packet, ADU provides this functionality in a differentway. In Packet, a common area is allocated for all packet headers; anoffset is used to access different headers in this area. In ADU thisis not applicable, because some ADU allocates their space dynamicallyaccording the the availability of user data. For example, if we wantto deliver an OTcl script between applications, the size of the scriptis undetermined beforehand. Therefore, we choose a less efficient butmore flexible method. Each ADU defines its own data members, andprovides methods to serialize them (i.e., pack data into an array andextract them from an array). For example, in the abstract base classof all ADU, AppData, we have:<P><PRE>        class AppData {        private:                AppDataType type_;  // ADU type        public:                struct hdr {                        AppDataType type_;                };        public:                AppData(char* b) {                        assert(b != NULL);                        type_ = ((hdr *)b)-\&gt;type_;                }                virtual void pack(char* buf) const;        }</PRE><P>Here <TT>pack(char* buf)</TT> is used to write an AppData objectinto an array, and <TT>AppData(char* b)</TT> is used to build a newAppData from a ``serialized'' copy of the object in an array.<P>When deriving new ADU from the base class, users may add more data,but at the same time a new <TT>pack(char *b)</TT> and a new constructor should be provided to write and read those new data members from anarray. For an example as how to derive from an ADU, look at /webcache/http-aux.h.<P><HR><!--Navigation Panel--><A NAME="tex2html8992"  HREF="node493.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node493.html"><IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="file:/usr/share/latex2html/icons/next.png"></A> <A NAME="tex2html8986"  HREF="node491.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node491.html"><IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="file:/usr/share/latex2html/icons/up.png"></A> <A NAME="tex2html8980"  HREF="node491.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node491.html"><IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="file:/usr/share/latex2html/icons/prev.png"></A> <A NAME="tex2html8988"  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="tex2html8990"  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="tex2html8993"  HREF="node493.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node493.html">36.1.2 Passing data between</A><B> Up:</B> <A NAME="tex2html8987"  HREF="node491.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node491.html">36.1 Using application-level data</A><B> Previous:</B> <A NAME="tex2html8981"  HREF="node491.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node491.html">36.1 Using application-level data</A> &nbsp <B>  <A NAME="tex2html8989"  HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html">Contents</A></B>  &nbsp <B>  <A NAME="tex2html8991"  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 + -