Even with the current code, the binding sca in-vm invoker is checking the allowsPassByReference flag to decide if "pass-by-reference" should be used. In the in-vm optimization with remotable interfaces, the reference side invocation chain is connected to the service side invocation chain. Invokers on each chain can allow pass by reference, especially the Java implementation invoker at the end of the service invocation chain.

To the bare minumum, we need a way to find out if the implementation allows pass-by-reference for a given operation.

Thanks,
Raymond
--------------------------------------------------
From: "ant elder" <[email protected]>
Sent: Tuesday, March 09, 2010 8:13 PM
To: <[email protected]>
Subject: Re: Do we need the DataExchangeSemantics interface anymore?

I understand that _was_ the idea but now that we've changed how the
local sca binding works there is nothing that is actually using this
anymore is there?

  ...ant

On Wed, Mar 10, 2010 at 5:04 PM, Raymond Feng <[email protected]> wrote:
The idea was to allow interceptors (or invokers) in the invocation chain to
tell Tuscany runtime if passByReference is allowed. For example, the Java
Invoker will return true if the target operation in the implementation class has @AllowsPassByReference. If one of the interceptors will copy data (for example, as part of data transformation), then there is no need for Invoker
to do it again.

Thanks,
Raymond
--------------------------------------------------
From: "ant elder" <[email protected]>
Sent: Tuesday, March 09, 2010 3:34 PM
To: <[email protected]>
Subject: Do we need the DataExchangeSemantics interface anymore?

Do we need the DataExchangeSemantics interface still after all the
binding sca and pass by value copy fixes? AFAICT nothing needs it now
and we have no tests or usecases or anything using it so is there any
reason to keep it?

 ...ant


Reply via email to