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