The PIPELINING extension means that, during this connection, the client does not always need to wait for a response before sending the next request.
Specifically, the client does not need to wait for the response to RSET, MAIL, RCPT, or an encoded message.
Furthermore, the server is permitted to defer such responses as long as it is continuing to receive new requests from the client. (Of course, this situation does not occur unless the client knows about PIPELINING.) The server must never wait for client input unless it has first ``flushed'' all pending responses; and it must send responses in the correct order.
It is the client's responsibility to avoid deadlock.