Subject: OCP - Transaction End (TE)

From: Martin Thelian <[email-masked]>
Date: Tue, 06 Feb 2007 16:16:37 +0100

Hi!

I have a question regarding the Transaction-End (TE) message of the OPES
callout-protocol.

It is unclear to me whether both OCP-agents have to send a TE message,
or if the transaction is terminated with the first TE-message send or
received. Is this an XOR or an OR disjunction?

I've found the following statements in rfc-4037 (OCP-core):
> 2.5.  Termination
> [...]   
>    Usually, the callout server terminates adapted application message
>    delivery and the transaction.
> [...]
>
> 4.  Transactions
> [...]
>    The OPES processor or the callout server can terminate the 
>    transaction by sending a corresponding message to the other side.
> [...]
>    A transaction ends with the first Transaction End (TE) message sent 
>    or received, explicit or implied.  A TE message can be sent by 
>    either side.
> [...]
>    The figure below illustrates a possible message sequence
> [...]
>    P: TS 10;
>    P: AMS 10 1;
>       ... processor sending application data to the callout server
>    S: AMS 10 2;
>       ... callout server sending application data to the processor
>       ... processor sending application data to the callout server
>    P: AME 10 1 result;
>    S: AME 10 2 result;
>    P: TE 10 result;
> [...]
>
> 11.5.  Transaction Start (TS)
> [...]
>    A callout server MUST maintain the state until it receives a message
>    indicating the end of the transaction or until it terminates the
>    transaction itself.
> [...]
>
> 11.6.  Transaction End (TE)
> [...]
>    An OCP agent MUST send a Transaction End (TE) message immediately
>    after it makes a decision to send no more messages related to the
>    corresponding transaction.
>   
So, most parts of the RFC - especially the example shown in chapter 4,
indicate
that this is an XOR, but chapter 11.6 does not clarify this.

But in the message flow examples shown in RFC4236 (OCP HTTP profile), both
agents are sending TE messages to the other endpoint.

Can someone explain me what's the correct usage of the TE message? Thanks.

Regards,
Martin Thelian