NS3 BulkSendApplication类API说明

源文件位置:
src/applications/model/bulk-send-application.h
bulk-send-application.cc

描述:

发送尽可能多的流量,尝试填充带宽。

这种流量发生器仅仅作为快速发送数据尽可能最多MaxBytes或直到应用被停止(如果MaxBytes为零)。一旦下层发送缓冲区被填满,它等待空间免费送更多的数据,基本上是保持恒定的数据流。 仅支持SOCK_STREAM和SOCK_SEQPACKET套接字。 例如,可以使用TCP套接字,但不能使用UDP套接字。

属性设置:

"/NodeList/[i]/ApplicationList/[i]/$ns3::BulkSendApplication" 

属性:

SendSize: 每次发送的数据量。
Remote: 目的地址
MaxBytes: 要发送的总字节数。 一旦发送这些字节,就不会再次发送数据。 值为零表示没有限制。
Protocol: 要使用的协议类型。(根据描述部分,仅支持TCP协议类型)
    
StartTime: 应用程序启动的时间
StopTime: 应用程序结束的时间

跟踪源:

Tx: 创建并发送新数据包

公共方法:

BulkSendApplication ()
virtual     ~BulkSendApplication ()
Ptr< Socket >   GetSocket (void) const
    获取此应用程序连接到的套接字。
void    SetMaxBytes (uint64_t maxBytes)
    设置要发送的总字节数的上限。一旦达到这个界限,就不再发送应用字节。 如果应用程序在模拟期间停止并重新启动,则不会复位发送的字节总数; 然而,maxBytes绑定仍然有效,应用程序将继续发送高达maxBytes。 maxBytes的值零意味着没有上限; 即发送数据,直到应用或模拟停止。
static TypeId   GetTypeId (void)
virtual void    DoDispose (void)

私有方法:

void    ConnectionFailed (Ptr< Socket > socket)
    连接失败(由Socket通过回调调用)
void    ConnectionSucceeded (Ptr< Socket > socket)
    连接成功(由Socket通过回调调用)
void    DataSend (Ptr< Socket >, uint32_t)
    传送一些数据后立即发送更多数据。
void    SendData ()
    发送数据,直到L4传输缓冲区已满。
virtual void    StartApplication (void)
virtual void    StopApplication (void)

源文件位置:

src/applications/helper/bulk-send-helper.h
bulk-send-helper.cc

描述:

一个帮助器,使其更容易在一组节点上实例化ns3 :: BulkSendApplication。

公共方法:

BulkSendHelper (std::string protocol, Address address)
    创建一个BulkSendHelper,使其更容易使用BulkSendApplications。
ApplicationContainer    Install (NodeContainer c) const
    在配置了使用SetAttribute设置的所有属性的输入容器的每个节点上安装ns3 :: BulkSendApplication。
ApplicationContainer    Install (Ptr< Node > node) const
在配置了使用SetAttribute设置的所有属性的节点上安装ns3 :: BulkSendApplication。
ApplicationContainer    Install (std::string nodeName) const
在配置了使用SetAttribute设置的所有属性的节点上安装ns3 :: BulkSendApplication。
void    SetAttribute (std::string name, const AttributeValue &value)
    辅助函数用于设置底层应用程序属性,而不是套接字属性。

私有方法:

Ptr< Application >  InstallPriv (Ptr< Node > node) const 
    在配置了使用SetAttribute设置的所有属性的节点上安装ns3 :: BulkSendApplication。

用法:

  BulkSendHelper source ("ns3::TcpSocketFactory",
                         InetSocketAddress (i.GetAddress (1), port));
  // Set the amount of data to send in bytes.  Zero is unlimited.
  source.SetAttribute ("MaxBytes", UintegerValue (maxBytes));
  ApplicationContainer sourceApps = source.Install (nodes.Get (0));
  sourceApps.Start (Seconds (0.0));
  sourceApps.Stop (Seconds (10.0));

你可能感兴趣的:(NS3 BulkSendApplication类API说明)