The sequence "CR LF", as defined, will cause the NVT to be positioned at the left margin of the next print line (as would, for example, the sequence "LF CR"). However, many systems and terminals do not treat CR and LF independently, and will have to go to some effort to simulate their effect. (For example, some terminals do not have a CR independent of the LF, but on such terminals it may be possible to simulate a CR by backspacing.) Therefore, the sequence "CR LF" must be treated as a single "new line" character and used whenever their combined action is intended; the sequence "CR NUL" must be used where a carriage return alone is actually desired; and the CR character must be avoided in other contexts. This rule gives assurance to systems which must decide whether to perform a "new line" function or a multiple-backspace that the TELNET stream contains a character following a CR that will allow a rational decision. Note that "CR LF" or "CR NUL" is required in both directions (in the default ASCII mode), to preserve the symmetry of the NVT model. Even though it may be known in some situations (e.g., with remote echo and suppress go ahead options in effect) that characters are not being sent to an actual printer, nonetheless, for the sake of consistency, the protocol requires that a NUL be inserted following a CR not followed by a LF in the data stream. The converse of this is that a NUL received in the data stream after a CR (in the absence of options negotiations which explicitly specify otherwise) should be stripped out prior to applying the NVT to local character set mapping.
| Modifier and Type | Field and Description |
|---|---|
| public boolean | |
| pack-priv boolean | |
| pack-priv boolean | stickyCRLF
If stickyCRLF is true, then we're a machine, like an IBM PC, where a Newline is a CR followed by LF. |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public int | |
| public int | |
| public int | read(byte[] bytes, int off, int length)
Overrides java. Read into a byte array at offset off for length length bytes. |
| public void |
| binaryMode | back to summary |
|---|---|
| public boolean binaryMode | |
| seenCR | back to summary |
|---|---|
| pack-priv boolean seenCR | |
| stickyCRLF | back to summary |
|---|---|
| pack-priv boolean stickyCRLF If stickyCRLF is true, then we're a machine, like an IBM PC, where a Newline is a CR followed by LF. On UNIX, this is false because Newline is represented with just a LF character. | |
| TelnetInputStream | back to summary |
|---|---|
| public TelnetInputStream(InputStream fd, boolean binary) | |
| read | back to summary |
|---|---|
| public int read() throws IOException Overrides java. Doc from java. Reads the next byte of data from the input stream. The value byte is
returned as an
| |
| read | back to summary |
|---|---|
| public int read(byte[] bytes) throws IOException Overrides java. read into a byte array
| |
| read | back to summary |
|---|---|
| public int read(byte[] bytes, int off, int length) throws IOException Overrides java. Read into a byte array at offset off for length length bytes.
| |
| setStickyCRLF | back to summary |
|---|---|
| public void setStickyCRLF(boolean on) | |