You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by Raymond Wilson <ra...@trimble.com> on 2018/10/08 21:04:01 UTC

Absence of unsigned integer read/write support in IBinaryRawReader/Writer

I’m using Ignite IBinarizable raw serialization in Ignite v2.6 with C#
client.



I notice there is no support for unsigned short, int and long integer types
(both single values and arrays).



I also noticed that Decimal, DateTime and Guid read/write methods only
support nullable values.



Currently I have code that writes a ushort value into an into to preserve
its value range. Similarly I have non-nullable Guid values and need to do
the nullable dance to on the read side to transform them back to
non-nullable.



Is there a particular reason these are not supported?



Thanks,

Raymond.

Re: Absence of unsigned integer read/write support in IBinaryRawReader/Writer

Posted by Dmitriy Setrakyan <ds...@apache.org>.
On Tue, Oct 9, 2018 at 9:55 PM Raymond Wilson <ra...@trimble.com>
wrote:

>
> I am curious that unsigned ints would not be a universally supported type
> on all platforms. Is that really the case?
>

I am not aware of any unsigned ints in Java, at least yet. Here is a Stack
Overflow thread on this:

https://stackoverflow.com/questions/25556017/how-to-use-the-unsigned-integer-in-java-8-and-java-9/32837775

Re: Absence of unsigned integer read/write support in IBinaryRawReader/Writer

Posted by Raymond Wilson <ra...@trimble.com>.
Hi Dmitry,

Thanks for the answer, I suspected this might be the case.

I am curious that unsigned ints would not be a universally supported
type on all platforms. Is that really the case?

Thanks,
Raymond.

Sent from my iPhone

> On 10/10/2018, at 10:22 AM, Dmitriy Setrakyan <ds...@apache.org> wrote:
>
> This is not about what "Java" supports. This is about the protocol working
> seamlessly across Java, .NET, and C++ environments, so we had to remove the
> types that are not supported on some platforms.
>
> D.
>
> On Tue, Oct 9, 2018 at 7:57 AM Ilya Kasnacheev <il...@gmail.com>
> wrote:
>
>> Hello!
>>
>> I think this is because Ignite marshallers stick to what Java supports.
>> Java only supports signed numbers and it only supports nullable composite
>> values (no structs).
>>
>> Thus on the C# side you can use those types which intersect between Java
>> and .Net runtimes.
>>
>> I can see how this can be inconvenient, unfortunately we don't have that
>> strong C# lobby to make the difference currently.
>>
>> Regards,
>> --
>> Ilya Kasnacheev
>>
>>
>> вт, 9 окт. 2018 г. в 0:04, Raymond Wilson <ra...@trimble.com>:
>>
>>> I’m using Ignite IBinarizable raw serialization in Ignite v2.6 with C#
>>> client.
>>>
>>>
>>>
>>> I notice there is no support for unsigned short, int and long integer
>> types
>>> (both single values and arrays).
>>>
>>>
>>>
>>> I also noticed that Decimal, DateTime and Guid read/write methods only
>>> support nullable values.
>>>
>>>
>>>
>>> Currently I have code that writes a ushort value into an into to preserve
>>> its value range. Similarly I have non-nullable Guid values and need to do
>>> the nullable dance to on the read side to transform them back to
>>> non-nullable.
>>>
>>>
>>>
>>> Is there a particular reason these are not supported?
>>>
>>>
>>>
>>> Thanks,
>>>
>>> Raymond.
>>>
>>

Re: Absence of unsigned integer read/write support in IBinaryRawReader/Writer

Posted by Dmitriy Setrakyan <ds...@apache.org>.
This is not about what "Java" supports. This is about the protocol working
seamlessly across Java, .NET, and C++ environments, so we had to remove the
types that are not supported on some platforms.

D.

On Tue, Oct 9, 2018 at 7:57 AM Ilya Kasnacheev <il...@gmail.com>
wrote:

> Hello!
>
> I think this is because Ignite marshallers stick to what Java supports.
> Java only supports signed numbers and it only supports nullable composite
> values (no structs).
>
> Thus on the C# side you can use those types which intersect between Java
> and .Net runtimes.
>
> I can see how this can be inconvenient, unfortunately we don't have that
> strong C# lobby to make the difference currently.
>
> Regards,
> --
> Ilya Kasnacheev
>
>
> вт, 9 окт. 2018 г. в 0:04, Raymond Wilson <ra...@trimble.com>:
>
> > I’m using Ignite IBinarizable raw serialization in Ignite v2.6 with C#
> > client.
> >
> >
> >
> > I notice there is no support for unsigned short, int and long integer
> types
> > (both single values and arrays).
> >
> >
> >
> > I also noticed that Decimal, DateTime and Guid read/write methods only
> > support nullable values.
> >
> >
> >
> > Currently I have code that writes a ushort value into an into to preserve
> > its value range. Similarly I have non-nullable Guid values and need to do
> > the nullable dance to on the read side to transform them back to
> > non-nullable.
> >
> >
> >
> > Is there a particular reason these are not supported?
> >
> >
> >
> > Thanks,
> >
> > Raymond.
> >
>

Re: Absence of unsigned integer read/write support in IBinaryRawReader/Writer

Posted by Ilya Kasnacheev <il...@gmail.com>.
Hello!

I think this is because Ignite marshallers stick to what Java supports.
Java only supports signed numbers and it only supports nullable composite
values (no structs).

Thus on the C# side you can use those types which intersect between Java
and .Net runtimes.

I can see how this can be inconvenient, unfortunately we don't have that
strong C# lobby to make the difference currently.

Regards,
-- 
Ilya Kasnacheev


вт, 9 окт. 2018 г. в 0:04, Raymond Wilson <ra...@trimble.com>:

> I’m using Ignite IBinarizable raw serialization in Ignite v2.6 with C#
> client.
>
>
>
> I notice there is no support for unsigned short, int and long integer types
> (both single values and arrays).
>
>
>
> I also noticed that Decimal, DateTime and Guid read/write methods only
> support nullable values.
>
>
>
> Currently I have code that writes a ushort value into an into to preserve
> its value range. Similarly I have non-nullable Guid values and need to do
> the nullable dance to on the read side to transform them back to
> non-nullable.
>
>
>
> Is there a particular reason these are not supported?
>
>
>
> Thanks,
>
> Raymond.
>