* Nigel Metheringham:
> Null packets? On a textual command stream within TCP?
>
> I guess you could try emitting continuation type SMTP error codes - so
> if you were going to emit a 200 code you do
> while(within_timeout()) {
> wait(partial_timeout)
> emit("200-We'll get there in the end")
> check_status
> }
Hmm. You could send a a partial "200-" response, and wait for a read
event using select(2). If pipelining is off, any read event would
indicate a connection teardown or a protocol error.
I wouldn't be surprised if multi-line responses split across multiple
TCP packets would cause severe interoperability issues. RFC-compliant
clients can handle this, of course, but the real world with its
firewalls is probably quite different.