Subject: RE: CE message

From: "Martin Stecher" <[email-masked]>
Date: Mon, 30 Jun 2003 20:42:30 +0200

> 
> > while implementing the OCP server prototype, I got two questions
> > regarding the CE message:
> >
> > 0a. While TE has a result parameter, CE has not.
> >     Both have an optional error parameter.
> >     I know we had this discussion on the list but cannot 
> really remember.
> >     Section 8.13: "error ... that cannot be expressed via result"
> >     What kind of error could that be?
> 
> I cannot think of a good example. An explicit error flag was added
> because Oskar Batuner suggested that abnormal termination must be
> distinguished from a normal (but possibly also erroneous) termination.
> Oskar suggested a dedicated "xaction-abort" message or similar.
> Somebody pointed out that the same semantics can be expressed via
> special bit in a result code, but we may want to be explicit and have
> an "error" flag.
> 
> We should make a decision how to express the "abnormal termination"
> semantics.
> 

For me defining a result code value as status or error would work good enough.
Such as in HTTP and many other protocols. 2xx success, 4xx and 5xx errors.

> 
> > 2. The CE messages implies closing of all open transactions.
> >    I would like to restrict this to happen only for the error case.
> >    Only if the processor wants to close the connection but does not
> >    expect to get any response for open transactions.
> >    If a transaction should close without error, a TE 
> message must be sent.
> >    I am still fine that TE implies AME.
> 
> This should be already the case, essentially. Perhaps we need to
> polish documentation. AME means "I am done sending my data". AME does
> not imply disinterest in the other side data. TE means "I am no longer
> interested in this transaction". TE implies disinterest in other side
> data for the same transaction. TE does not imply disinterest in other
> transactions on the same connection. CE means "I am not longer
> interested in anything on this connection and am going to close it".
> CE does not imply disinterest in other connections.
> 
> Does this semantics meet your needs?
> 

Did you change your mind or is there a misunderstanding?
In another mail your wrote that the AME messages in my example http://www.martin-stecher.de/opes/sample1.html are obsolete.
But if the OPES processor sends TE before it receives all data from the callout servr, it signals disinterest which is wrong. The callout server often needs a signal to know that no DUM messages will show up in this transaction and to return the last chunk of data.

Regards
Martin

---

From: Alex Rousskov <[email-masked]>
Date: Mon, 30 Jun 2003 13:21:25 -0600 (MDT)

On Mon, 30 Jun 2003, Martin Stecher wrote:

> > >    I would like to restrict this to happen only for the error
> > >    case. Only if the processor wants to close the connection but
> > >    does not expect to get any response for open transactions. If
> > >    a transaction should close without error, a TE message must
> > >    be sent. I am still fine that TE implies AME.
> >
> > polish documentation. AME means "I am done sending my data". AME
> > does not imply disinterest in the other side data. TE means "I am
> > no longer interested in this transaction". TE implies disinterest
> > in other side data for the same transaction. TE does not imply
> > disinterest in other transactions on the same connection. CE means
> > "I am not longer interested in anything on this connection and am
> > going to close it". CE does not imply disinterest in other
> > connections.
> >
> Did you change your mind or is there a misunderstanding? In another
> mail your wrote that the AME messages in my example
> http://www.martin-stecher.de/opes/sample1.html are obsolete. But if
> the OPES processor sends TE before it receives all data from the
> callout servr, it signals disinterest which is wrong. The callout
> server often needs a signal to know that no DUM messages will show
> up in this transaction and to return the last chunk of data.

That statement of mine regarding AME messages was inaccurate/wrong,
apparently. AME message is optional only if TE (or CE) message
follows. You are right that in the case of OPES processor, AME is
usually required to signal the end of original data (AME) without
signaling the loss of interest (TE). I think we are on the same page
now, aren't we?

Thanks,

Alex.