[ https://issues.apache.org/jira/browse/IGNITE-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pavel Tupitsyn updated IGNITE-1654: ----------------------------------- Labels: .net (was: ) > .Net: Ensure consistent "keepPortable" behavior. > ------------------------------------------------ > > Key: IGNITE-1654 > URL: https://issues.apache.org/jira/browse/IGNITE-1654 > Project: Ignite > Issue Type: Task > Components: platforms > Affects Versions: ignite-1.4 > Reporter: Vladimir Ozerov > Priority: Critical > Labels: .net > > 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)