You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by As...@amat.com on 2017/01/22 07:39:11 UTC

C++ Native Client

Hi,



I want to use ignite from C++ & Java and have the following questions:



1.      I want to use my own cross platform serialization (i.e. protobuf), that means that I'll put/get into ignite only byte arrays which are the product of protobuf serialization.

What is the simplest way of having this? Do I still need to write BinaryType which wraps the byte array? Or can I just use Cache<String, byte[]> in java and Cache<std::string, ?> in C++?

In addition, if I use java String as key will it be std::string key in c++ = (or is it stored as Unicode string)?



2.      As I understood, the C++ client is actually a JNI wrapper over java client so a JVM is running in the native process. Is there a pure native client (without JVM)? If not, where can I find the protocol in case I would = like to implement a pure native client?


Thanks,

Assaf Waizman
SW Architect | Product Development Division | Process Diagnostics and Control | Applied Materials
9 Oppenheimer Street, Rehovot, 76705.  Israel.
Office +972.8.948.8661 | Mobile +972.54.80.10.799

The content of this message is Applied Materials Confidential. If you are not the intended recipient and have received this message in error, any use or distribution is prohibited. Please notify me immediately by reply e-mail and delete this message from your computer system. Thank you.
[Description: cid:image002.png@01CC3C8A.EA87E630] Save a tree. Please don't print this e-mail unless needed


________________________________


Re: C++ Native Client

Posted by Igor Sapego <is...@gridgain.com>.
Hi Assaf,

1. Yes, you can use Cache<String, byte[]> approach, though you are going to
miss some
features, provided by Ignite such as SQL queries over object fields.
Answering your next
question - if you use Java String as key it is going to map to std::string
in C++. And yes,
it will be a Unicode string, though this is going ti be UTF-8, not UTF-16.

2. No, there are no currently pure native client without JVM. I doubt there
is documentation
that covers all the node communication details, but you can take a look at
wiki [1].

[1] - https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+Home

Best Regards,
Igor

On Sun, Jan 22, 2017 at 10:39 AM, <As...@amat.com> wrote:

> Hi,
>
>
>
> I want to use ignite from C++ & Java and have the following questions:
>
>
>
> 1.      I want to use my own cross platform serialization (i.e. protobuf),
> that means that I'll put/get into ignite only byte arrays which are the
> product of protobuf serialization.
>
> What is the simplest way of having this? Do I still need to write
> BinaryType which wraps the byte array? Or can I just use Cache<String,
> byte[]> in java and Cache<std::string, ?> in C++?
>
> In addition, if I use java String as key will it be std::string key in c++
> = (or is it stored as Unicode string)?
>
>
>
> 2.      As I understood, the C++ client is actually a JNI wrapper over
> java client so a JVM is running in the native process. Is there a pure
> native client (without JVM)? If not, where can I find the protocol in case
> I would = like to implement a pure native client?
>
>
>
> Thanks,
>
>
>
> *Assaf Waizman*
>
>
>
> *SW Architect | Product Development Division | Process Diagnostics and
> Control | Applied Materials 9 Oppenheimer Street, Rehovot, 76705.  Israel.
> Office +972.8.948.8661 | Mobile +972.54.80.10.799*
>
>
>
> The content of this message is Applied Materials Confidential. If you are
> not the intended recipient and have received this message in error, any use
> or distribution is prohibited. Please notify me immediately by reply e-mail
> and delete this message from your computer system. Thank you.
>
> [image: Description: cid:image002.png@01CC3C8A.EA87E630] *Save a tree.
> Please don't print this e-mail unless needed*
>
>
>
> ------------------------------
>
>