Package: inet.applications.udpapp
UdpVideoStreamClient
simple moduleVideo streaming client.
This module sends one "video streaming request" to serverAddress:serverPort at time startTime and receives stream from UdpVideoStreamServer server.
See also: UdpVideoStreamServer
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 |
Scheduled messages (observed)
| msg | kind | ctrl | tags | msgname | context |
|---|---|---|---|---|---|
| omnetpp::cMessage | 0 | UDPVideoStreamStart |
Direct method calls (observed)
| call to | function | info |
|---|---|---|
| MessageDispatcher | inet::MessageDispatcher::arrived | arrived |
| ScenarioManager | inet::ScenarioManager::moduleOperationStageCompleted | moduleOperationStageCompleted |
Called methods (observed)
| function | info | call from |
|---|---|---|
| inet::UdpVideoStreamClient::handleOperationStage | handleOperationStage | ScenarioManager |
Incoming messages (observed)
| gate | msg | kind | ctrl | srcModule | tags |
|---|---|---|---|---|---|
| socketIn | Indication | 2 (UdpStatusInd::UDP_I_SOCKET_CLOSED) | UdpSocketClosedIndication | Udp | SocketInd |
| socketIn | Packet | 0 (UdpStatusInd::UDP_I_DATA) | Udp | DscpInd, EcnInd, HopLimitInd, InterfaceInd, L3AddressInd, L4PortInd, NetworkProtocolInd, SocketInd, TosInd, TransportProtocolInd, ErrorRateInd?, Ieee802SapInd?, MacAddressInd?, SignalPowerInd?, SignalTimeInd?, SnirInd?, Ieee80211ChannelInd?, Ieee80211ModeInd? |
Outgoing messages (observed)
| gate | msg | kind | ctrl | destModule | tags |
|---|---|---|---|---|---|
| socketOut | Packet | 0 (UdpCommandCode::UDP_C_DATA) | Udp | DispatchProtocolReq, L3AddressReq, L4PortReq, SocketReq | |
| socketOut | Request | 1 (UdpCommandCode::UDP_C_BIND) | UdpBindCommand | Udp | DispatchProtocolReq, SocketReq |
| socketOut | Request | 4 (UdpCommandCode::UDP_C_CLOSE) | UdpCloseCommand | Udp | DispatchProtocolReq, SocketReq |
Packet operations (observed)
| chunkType | packetAction |
|---|---|
| peekData | |
| ByteCountChunk | insertAtBack |
Shared Tagging operations (observed)
| tagType | tagAction |
|---|---|
| DispatchProtocolReq | addTagIfAbsent |
| L3AddressReq | addTagIfAbsent |
| L4PortReq | addTagIfAbsent |
| SocketInd | findTag |
| SocketReq | addTagIfAbsent |
Region Tagging operations (observed)
| tagType | tagAction |
|---|---|
| CreationTimeTag | getAllTags |
Tagging operations (observed)
| tagType | tagAction |
|---|---|
| inet::Ipv4InterfaceData | findTag |
Source code
// // Video streaming client. // // This module sends one "video streaming request" to serverAddress:serverPort at time startTime // and receives stream from ~UdpVideoStreamServer server. // // @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