美文网首页NS3(Network Simulator)
NS3 BulkSendApplication类API说明

NS3 BulkSendApplication类API说明

作者: shawn168 | 来源:发表于2017-06-25 20:31 被阅读304次

    源文件位置:
    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说明

        本文链接:https://www.haomeiwen.com/subject/vmygnttx.html