You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A StreamSender over an lwIP TCP stream replaces the UDP sender, and the collector
moves to 5601. Records are framed by octet count (RFC 6587), which is what a
receiver expects on a stream transport.
Flash +7,348 B (+544 on the previous stage)
RAM +7,664 B (+180)
Log stack +672 B (unchanged)
Service +896 B (-56)
TCP before TLS is deliberate. It is the smaller step — a stream, a connect and a
framing rule, with no certificates in the picture — and it is what a later
store-and-forward stage will spool onto. It also completes what the sequenceId
started: the transport now detects loss where it happens, while the sequence only
reveals it afterwards.
The store is still the Null object, so a record whose send fails is reported but
not kept. NullStore_Write rejects the record and NullStore_IsTransient says so,
which is Service's cue to fall through to a direct send whose result it discards;
the delivery-failed event still reaches the handler. The device therefore learns
that delivery is failing without yet being able to do anything about it.
The flash is small because the baseline already holds a real mTLS session, so
lwIP's TCP code was in the image before this stage asked for it. What is charged
here is the stream and the sender in front of it, and the 180 bytes of RAM are
those two objects in SolidSyslog's static pool.
The log stack does not move at all: a task that calls Log is unaffected by the
transport underneath it. The service seam's high-water actually fell 56 bytes —
this stream's send path measures shallower than the datagram's — but the seam
keeps its allocation, so nothing is given back here. The stream takes a Sleep
callback because a connect is not instantaneous and the library will not pick a
blocking primitive on your behalf; one vTaskDelay is the whole of it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
0 commit comments