You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Tupitsyn (JIRA)" <ji...@apache.org> on 2016/01/28 11:33:39 UTC

[jira] [Commented] (IGNITE-1894) .Net: Delegate support in the API via extension methods

    [ https://issues.apache.org/jira/browse/IGNITE-1894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15121183#comment-15121183 ] 

Pavel Tupitsyn commented on IGNITE-1894:
----------------------------------------

> user will not be able to easily send lambdas to already started cluster
Anonymous functions simply reside in compiler-generated classes, there is no any difference with usual compute jobs.
Remote node has to have corresponding assembly loaded.

Since we use a separate ExamplesDll, I'll have to put lambdas there.

> .Net: Delegate support in the API via extension methods
> -------------------------------------------------------
>
>                 Key: IGNITE-1894
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1894
>             Project: Ignite
>          Issue Type: Improvement
>          Components: interop
>    Affects Versions: 1.1.4
>            Reporter: Pavel Tupitsyn
>            Assignee: Pavel Tupitsyn
>             Fix For: 1.6
>
>
> In many places we require a single-method interface implementation from the user:
> {code:title=ICompute}
> TRes Call<TRes>(IComputeFunc<TRes> clo);
> {code}
> All of these can be extended to accept a delegate:
> {code:title=ICompute}
> TRes Call<TRes>(Func<TRes> clo);
> {code}
> We can't replace interfaces with delegates completely (which is desirable), because it will take away serialization control from the user. So the interface approach has to stay as a primary.
> Delegate support can be added via extension methods, which wrap provided delegates into a class that implements corresponding interface.



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