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.
>