C++ server send Capn Object to JavaClient like this
capnp::MallocMessageBuilder message;
Info::Builder info = message.initRoot<Info>();
info.setId(123);
kj::ArrayPtr<const kj::ArrayPtr<const capnp::word>> segments =
message.getSegmentsForOutput();
then I convert the segments object to char* send to java_client by proto
rpc_call (bytes field)
Then In java_client, I do like this to read the capn object
com.google.protobuf.ByteString capn_object_bytes =
response.getCapnObject()
SegmentReader segment = new
SegmentReader(capn_object_bytes.asReadOnlyByteBuffer(), null);
AnyPointer.Reader any = new AnyPointer.Reader(segment, 0, 64*1024*1024);
Info.Reader info = any.getAs(Info.factory);
System.out.println("Id:" + info.getId());
run java_cliet ,happend error like this :
Exception in thread "main" java.lang.NullPointerException
at org.capnproto.WireHelpers.readStructPointer(WireHelpers.java:918)
at
org.capnproto.StructFactory.fromPointerReaderRefDefault(StructFactory.java:34)
at org.capnproto.StructFactory.fromPointerReader(StructFactory.java:41)
at org.capnproto.StructFactory.fromPointerReader(StructFactory.java:24)
at org.capnproto.AnyPointer$Reader.getAs(AnyPointer.java:56)
--
You received this message because you are subscribed to the Google Groups
"Cap'n Proto" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/capnproto/081ab20b-5eae-43d5-a4fc-8230ef39d4a5%40googlegroups.com.