Interface: MllpWarning
A frozen warning object emitted when the decoder tolerates a framing deviation.
connectionId is undefined when emitted by a standalone FrameReader.
Connection enriches it to the real UUIDv4 before forwarding upstream.
Example
const reader = new FrameReader({
onFrame: (p) => process(p),
onWarning: (w: MllpWarning) => logger.warn(w),
allowFsOnly: true,
});
Extended by
Properties
byteOffset
readonlybyteOffset:number
Absolute stream byte offset where the anomaly was detected.
code
readonlycode:WarningCode
connectionId
readonlyconnectionId:string|undefined
Connection identifier. undefined at the framing layer;
enriched by Connection before emitting upstream.
message
readonlymessage:string
Stable human-readable description. It carries structural facts (a byte offset, an accumulated size) and never a run of payload content.
Two codes carry exactly one input byte, and it is worth knowing which:
MLLP_MISSING_LEADING_VT and MLLP_FS_WITHOUT_CR render the hex of the
single byte found where a framing byte was expected, and on a stream that
omits its leading VT that byte is the first byte of the unframed content.
One byte, never a run, the same bound MllpFramingError.snippet carries. If
that is more than your threat model allows, log code and byteOffset
rather than message.
The ACK-correlation codes are stricter: their text comes from a frozen registry and does not vary with the wire at all.
timestamp
readonlytimestamp:Date
Wall-clock time at point of emission.