ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nikolay Izhikov <nizhi...@apache.org>
Subject [DISCUSSION] .Net BinaryTypes transparency
Date Tue, 12 Jan 2021 13:55:47 GMT
Hello, Igniters.

Currently, in case of usage .Net platform client it’s required for the user to explicitly
register each custom type.

```
_marsh = new Marshaller(new BinaryConfiguration
{
    TypeConfigurations = new List<BinaryTypeConfiguration>
    {
        new BinaryTypeConfiguration(typeof (Address)),
        new BinaryTypeConfiguration(typeof (TestModel))
    }
});
```

Note, we have a special public interface to map java type to .net types - `IBinaryNameMapper`

```
    public interface IBinaryNameMapper
    {
        string GetTypeName(string name);
        string GetFieldName(string name);
    }
}
```

Users found this approach annoying and not convenient.
So, recently we made a several improvements for the Service API to implicitly register each
custom type from service method arguments. [1], [2], [3]
For now, user can just call Java service from .Net without any additional configuration in
case FQN NameMapper used.

I propose to extends approach with the implicit binary type registration to all APIs and prepare
PR for it [4].

What do you think?

[1] https://github.com/apache/ignite/commit/35f551c023a12b3570d65c803d10c89480f7d5e4
[2] https://github.com/apache/ignite/commit/6d02e32e7f049e4f78f7abd37f4ff91d77f738c2
[3] https://github.com/apache/ignite/commit/c2204cda29e70294cc93756eabc844b64e07a42e
[4] https://github.com/apache/ignite/pull/8635
Mime
View raw message