47 lines
2.1 KiB
Plaintext
47 lines
2.1 KiB
Plaintext
//tag::ref-doc[]
|
|
= TCP
|
|
The `tcp` source acts as a server and allows a remote party to connect to it and submit data over a raw tcp socket.
|
|
|
|
TCP is a streaming protocol and some mechanism is needed to frame messages on the wire. A number of decoders are
|
|
available, the default being 'CRLF' which is compatible with Telnet.
|
|
|
|
Messages produced by the TCP source application have a `byte[]` payload.
|
|
|
|
== Options
|
|
|
|
//tag::configuration-properties[]
|
|
Properties grouped by prefix:
|
|
|
|
|
|
=== tcp
|
|
|
|
$$nio$$:: $$Whether or not to use NIO.$$ *($$Boolean$$, default: `$$false$$`)*
|
|
$$port$$:: $$The port on which to listen; 0 for the OS to choose a port.$$ *($$Integer$$, default: `$$1234$$`)*
|
|
$$reverse-lookup$$:: $$Perform a reverse DNS lookup on the remote IP Address; if false, just the IP address is included in the message headers.$$ *($$Boolean$$, default: `$$false$$`)*
|
|
$$socket-timeout$$:: $$The timeout (ms) before closing the socket when no data is received.$$ *($$Integer$$, default: `$$120000$$`)*
|
|
$$use-direct-buffers$$:: $$Whether or not to use direct buffers.$$ *($$Boolean$$, default: `$$false$$`)*
|
|
|
|
=== tcp.supplier
|
|
|
|
$$buffer-size$$:: $$The buffer size used when decoding messages; larger messages will be rejected.$$ *($$Integer$$, default: `$$2048$$`)*
|
|
$$decoder$$:: $$The decoder to use when receiving messages.$$ *($$Encoding$$, default: `$$<none>$$`, possible values: `CRLF`,`LF`,`NULL`,`STXETX`,`RAW`,`L1`,`L2`,`L4`)*
|
|
//end::configuration-properties[]
|
|
|
|
== Available Decoders
|
|
|
|
.Text Data
|
|
|
|
CRLF (default):: text terminated by carriage return (0x0d) followed by line feed (0x0a)
|
|
LF:: text terminated by line feed (0x0a)
|
|
NULL:: text terminated by a null byte (0x00)
|
|
STXETX:: text preceded by an STX (0x02) and terminated by an ETX (0x03)
|
|
|
|
.Text and Binary Data
|
|
|
|
RAW:: no structure - the client indicates a complete message by closing the socket
|
|
L1:: data preceded by a one byte (unsigned) length field (supports up to 255 bytes)
|
|
L2:: data preceded by a two byte (unsigned) length field (up to 2^16^-1 bytes)
|
|
L4:: data preceded by a four byte (signed) length field (up to 2^31^-1 bytes)
|
|
|
|
//end::ref-doc[]
|