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

📄 node477.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>35.2.4 Agent upcalls to applications</TITLE><META NAME="description" CONTENT="35.2.4 Agent upcalls to applications"><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="node478.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node478.html"><LINK REL="previous" HREF="node476.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node476.html"><LINK REL="up" HREF="node473.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node473.html"><LINK REL="next" HREF="node478.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node478.html"></HEAD><BODY ><!--Navigation Panel--><A NAME="tex2html8750"  HREF="node478.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node478.html"><IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="file:/usr/share/latex2html/icons/next.png"></A> <A NAME="tex2html8744"  HREF="node473.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node473.html"><IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="file:/usr/share/latex2html/icons/up.png"></A> <A NAME="tex2html8738"  HREF="node476.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node476.html"><IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="file:/usr/share/latex2html/icons/prev.png"></A> <A NAME="tex2html8746"  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="tex2html8748"  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="tex2html8751"  HREF="node478.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node478.html">35.2.5 An example</A><B> Up:</B> <A NAME="tex2html8745"  HREF="node473.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node473.html">35.2 The transport agent</A><B> Previous:</B> <A NAME="tex2html8739"  HREF="node476.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node476.html">35.2.3 Using transport agents</A> &nbsp <B>  <A NAME="tex2html8747"  HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html">Contents</A></B>  &nbsp <B>  <A NAME="tex2html8749"  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="SECTION07124000000000000000"></A><A NAME="sec:upcalls"></A><BR>35.2.4 Agent upcalls to applications</H2><P>Since presently in&nbsp;there is no actual data being passed between applications, agents can instead announce to applications the occurrence of certain events at the transport layer through ``upcalls.''  For example,applications can be notified of the arrival of a number of bytes of data;this information may aid the application in modelling real-world applicationbehavior more closely.  Two basic ``upcalls'' have been implemented in base <TT>class Application</TT> and in the transport agents:<UL><LI><TT>recv(int nbytes)</TT>--Announces that <TT>nbytes</TT> of data have beenreceived by the agent.  For UDP agents, this signifies the arrival ofa single packet.  For TCP agents, this signifies the ``delivery'' of an amount of in-sequence data, which may be larger than that contained in a single packet (due to the possibility of network reordering).</LI><LI><TT>resume()</TT>--This indicates to the application that the transportagent has sent out all of the data submitted to it up to that point in time.  For TCP, it does not indicate whether the data has been ACKed yet, only thatit has been sent out for the first time. </LI></UL>The default behavior is as follows: Depending on whether the application has been implemented in C++ or OTcl, theseC++ functions call a similarly named (<TT>recv, resume</TT>) function in the application,if such methods have been defined.   <P>Although strictly not a callback to applications, certain Agents haveimplemented a callback from C++ to OTcl-level that has been used by applications such as HTTP simulators.  This callback method, <TT>done{}</TT>,is used in TCP agents.  In TCP, <TT>done{}</TT> is called when a TCP sender has received ACKs for all of its data and is now closed; it therefore canbe used to simulate a blocked TCP connection.  The <TT>done{}</TT>method was primarily used before this API was completed, but may still beuseful for applications that do not want to use <TT>resume()</TT>.<P>To use <TT>done{}</TT> for FullTcp, for example, you can try:<PRE>        set myagent [new Agent/TCP/FullTcp]        $myagent proc done { } {            ... code you want ...        }</PRE>If you want all the FullTCP's to have the same code you could also do:<PRE>        Agent/TCP/FullTcp instproc done {} {            ... code you want ...        }</PRE>By default, <TT>done{}</TT> does nothing.<P><HR><!--Navigation Panel--><A NAME="tex2html8750"  HREF="node478.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node478.html"><IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="file:/usr/share/latex2html/icons/next.png"></A> <A NAME="tex2html8744"  HREF="node473.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node473.html"><IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="file:/usr/share/latex2html/icons/up.png"></A> <A NAME="tex2html8738"  HREF="node476.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node476.html"><IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="file:/usr/share/latex2html/icons/prev.png"></A> <A NAME="tex2html8746"  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="tex2html8748"  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="tex2html8751"  HREF="node478.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node478.html">35.2.5 An example</A><B> Up:</B> <A NAME="tex2html8745"  HREF="node473.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node473.html">35.2 The transport agent</A><B> Previous:</B> <A NAME="tex2html8739"  HREF="node476.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node476.html">35.2.3 Using transport agents</A> &nbsp <B>  <A NAME="tex2html8747"  HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html">Contents</A></B>  &nbsp <B>  <A NAME="tex2html8749"  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 + -