Accepts any number of incoming TCP connections, and discards whatever arrives on them. Compatible with both IPv4 and IPv6.
Configuring App
The module parameter dataTransferMode should be set the transfer mode in TCP layer. Currently you have three choices:
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Name | Type | Default value | Description |
---|---|---|---|
localAddress | string | "" |
may be left empty ("") |
localPort | int | 1000 |
port number to listen on |
dataTransferMode | string | "bytecount" |
Name | Value | Description |
---|---|---|
display | i=block/sink |
Name | Direction | Size | Description |
---|---|---|---|
tcpIn | input | ||
tcpOut | output |
Name | Type | Unit |
---|---|---|
rcvdPk | cPacket |
Name | Title | Source | Record | Unit | Interpolation Mode |
---|---|---|---|---|---|
rcvdPk | packets received | rcvdPk | count, sum(packetBytes), vector(packetBytes) | none | |
endToEndDelay | end-to-end delay | messageAge(rcvdPk) | histogram, vector | s | none |
// // Accepts any number of incoming TCP connections, and discards whatever // arrives on them. // Compatible with both ~IPv4 and ~IPv6. // // <b>Configuring App</b> // // The module parameter dataTransferMode should be set the transfer mode in TCP layer. // Currently you have three choices: // // -# set them to "bytecount". // This mode manages "virtual bytes", that is, only byte counts are // transmitted over the TCP connection and no actual data. cMessage // contents, and even message boundaries are not preserved with these // classes: for example, if the client sends a single cMessage with // length = 1 megabyte over TCP, the receiver-side client will see a // sequence of MSS-sized messages. // // -# use "object", which transmits // cMessage objects (and subclasses) over a TCP connection. The same // message object sequence that was sent by the client to the // sender-side TCP entity will be reproduced on the receiver side. // If a client sends a cMessage with length = 1 megabyte, the // receiver-side client will receive the same message object (or a clone) // after the TCP entities have completed simulating the transmission // of 1 megabyte over the connection. This is a different behaviour // from TCPVirtualDataSendQueue/RcvQueue. // This mode is not implemented in ~TCP_NSC yet. // // -# use "bytestream", which transmits real bytes of messages. // simple TCPSinkApp like ITCPApp { parameters: string localAddress = default(""); // may be left empty ("") int localPort = default(1000); // port number to listen on string dataTransferMode @enum("bytecount","object","bytestream") = default("bytecount"); @display("i=block/sink"); @signal[rcvdPk](type=cPacket); @statistic[rcvdPk](title="packets received"; source=rcvdPk; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none); @statistic[endToEndDelay](title="end-to-end delay"; source="messageAge(rcvdPk)"; unit=s; record=histogram,vector; interpolationmode=none); gates: input tcpIn @labels(TCPCommand/up); output tcpOut @labels(TCPCommand/down); }