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
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 : > 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
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 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 : > > > 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
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 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 > 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 : >> >>> 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
On Tue, Oct 9, 2018 at 9:55 PM Raymond Wilson 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