UdpVideoStreamClient

Package: inet.applications.udpapp

UdpVideoStreamClient

simple module

Video streaming client.

This module sends one "video streaming request" to serverAddress:serverPort at time startTime and receives stream from UdpVideoStreamServer server.

Statistics:

packetReceived: statistic of received packets and received bytes. endToEndDelay: statistic of delays of incoming packets.

See also: UdpVideoStreamServer

UdpVideoStreamClient

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Parameters

Name Type Default value Description
localPort int -1

local port (-1: use ephemeral port)

serverAddress string

server address

serverPort int

server port

startTime double 1s
stopOperationExtraTime double -1s

extra time after lifecycle stop operation finished

stopOperationTimeout double 2s

timeout value for lifecycle stop operation

Properties

Name Value Description
display i=block/app
lifecycleSupport

Gates

Name Direction Size Description
socketIn input
socketOut output

Signals

Name Type Unit
packetReceived inet::Packet

Statistics

Name Title Source Record Unit Interpolation Mode
packetReceived packets received packetReceived count, sum(packetBytes), vector(packetBytes) none
throughput throughput throughput(packetReceived) vector bps
endToEndDelay end-to-end delay dataAge(packetReceived) histogram, vector s none

Source code

//
// Video streaming client.
//
// This module sends one "video streaming request" to serverAddress:serverPort at time startTime
// and receives stream from ~UdpVideoStreamServer server.
//
// Statistics:
//
// packetReceived: statistic of received packets and received bytes.
// endToEndDelay: statistic of delays of incoming packets.
//
// @see ~UdpVideoStreamServer
//
simple UdpVideoStreamClient like IApp
{
    parameters:
        int localPort = default(-1);  // local port (-1: use ephemeral port)
        string serverAddress;  // server address
        int serverPort;  // server port
        double startTime @unit(s) = default(1s);
        @display("i=block/app");
        @lifecycleSupport;
        double stopOperationExtraTime @unit(s) = default(-1s);    // extra time after lifecycle stop operation finished
        double stopOperationTimeout @unit(s) = default(2s);    // timeout value for lifecycle stop operation
        @signal[packetReceived](type=inet::Packet);
        @statistic[packetReceived](title="packets received"; source=packetReceived; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none);
        @statistic[throughput](title="throughput"; unit=bps; source="throughput(packetReceived)"; record=vector);
        @statistic[endToEndDelay](title="end-to-end delay"; source="dataAge(packetReceived)"; unit=s; record=histogram,vector; interpolationmode=none);
    gates:
        input socketIn @labels(UdpControlInfo/up);
        output socketOut @labels(UdpControlInfo/down);
}

File: src/inet/applications/udpapp/UdpVideoStreamClient.ned