ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladimir Ozerov (JIRA)" <j...@apache.org>
Subject [jira] [Created] (IGNITE-1654) .Net: Ensure consistent "keepPortable" behavior.
Date Mon, 12 Oct 2015 12:00:07 GMT
Vladimir Ozerov created IGNITE-1654:
---------------------------------------

             Summary: .Net: Ensure consistent "keepPortable" behavior.
                 Key: IGNITE-1654
                 URL: https://issues.apache.org/jira/browse/IGNITE-1654
             Project: Ignite
          Issue Type: Task
          Components: interop
    Affects Versions: ignite-1.4
            Reporter: Vladimir Ozerov
            Priority: Critical
             Fix For: 1.5


We need to ensure that "keep portable" concept is
a) Consistent;
b) Exists for all logical units where it is necessary.

Lets split "keep portable" behavior in two scenarios:
1) Client mode. This is when client (caller) operates on portable objects. Example: ICache<IPortableObject,
IPortableObject>.Get(...);
2) Server mode. This is when some server side object (caller) operates on portable objects.
Example: a remote service which should not deserialize passed arguments and operate on portables
instead.

Looks like both cases can be handled using the same "keep portable" flag on related logical
unit.

Logical units affected:
1) Compute - at the very least closures can be executed in this mode;
2) Cache;
3) Data streamer;
4) Data structures: atomic stamped, atmoc reference;
5) Cache events;
6) Messages;
7) Services.

Probably we should introduce a kind of "IKeepPortableEnabled<T>" (or so) interface,
which will have a method "T WithKeepPortable()". This way users will be able to easily understand
that "keep portable" semantics is applicable.

Lets split it into several children tickets if necessary.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message