Thank you for your comments.
I have substituted your example text. It illustrates several subtle points
worth calling out.
As I studied section 2, I don't see an easy way to separate the pipelining and
non-pilelining text without duplicating or completely rewriting text. I am
reluctant to perform major surgury as this is the third edition of the
document. I don't recall at this point which words were extensively debated
and carefully chosen and which reflect authors choice. I would also like it to
remain structurally the same so readers using DIFF can easily find the changes.
Is this a major concern? If now, I'd like to avoid the re-write.
Greg V.
-----Original Message-----
From: Matti Aarnio [mailto:mea+ietf-smtp(_at_)nic(_dot_)funet(_dot_)fi]
Sent: Thursday, June 19, 2003 8:25 AM
To: Vaudreuil, Greg M (Greg)
Cc: ietf-smtp(_at_)imc(_dot_)org
Subject: Re: BDAT, RFC 3030 protocol clarification?
On Wed, Jun 18, 2003 at 09:29:59AM -0500, Vaudreuil, Greg M (Greg) wrote:
I hope the below referenced Internet-draft has captured the discussion
we have been having. Specific comments would be welcome, preferably in
time to turn a new revision before the IETF meeting.
Greg V.
I have two things:
I would like to see section/subsection numbers inside chapter 2,
separating non-pipeline and pipeline behaviour discussion into
separate sections would be usefull in the long run, IMHO. (Like
there are separate examples, also the text should have sections.)
Due to network level TCP optimizations, the example in 4.2
could be rewritten slightly:
-------------------------------------
4.2 Pipelining BINARYMIME
The following dialogue illustrates the use of the large message
extension to send a BINARYMIME object to two recipients using the
CHUNKING and PIPELINING extensions. This also shows sender side
TCP buffering effect where data is accumulated, until MTU size
chunks can be sent, and thus MAIL, RCPTs and first BDAT verb are
all in one TCP frame:
R: <wait for connection on TCP port 25>
S: <open connection to server>
R: 220 example.com SMTP service ready
S: EHLO ymir.example2.com
R: 250-example.com says hello
R: 250-PIPELINING
R: 250-BINARYMIME
R: 250 CHUNKING
S: MAIL FROM:<ned(_at_)example2(_dot_)com> BODY=BINARYMIME
S: RCPT TO:<gvaudre(_at_)example(_dot_)com>
S: RCPT TO:<jstewart(_at_)example(_dot_)com>
S: BDAT 100000
S: (First 100000 octets of canonical MIME message data)
R: <sometime during that BDAT sending, these responses arrive>
R: 250 <ned(_at_)example2(_dot_)com>... Sender and BINARYMIME ok
R: 250 <gvaudre(_at_)example(_dot_)com>... Recipient ok
R: 250 <jstewart(_at_)example(_dot_)com>... Recipient ok
S: BDAT 324
S: (Remaining 324 octets of canonical MIME message data)
S: BDAT 0 LAST
S: <sender explicitely PUSHes its outgoing TCP stream
S: data in order to achieve a synchronisation point>
R: 250 100000 octets received
R: 250 324 octets received
R: 250 Message OK, 100324 octets received
S: QUIT
R: 221 Goodbye
-------------------------------------
--
/Matti Aarnio <mea(_at_)nic(_dot_)funet(_dot_)fi>