Hi all, I'm trying to access data inside an ArrayBufferView. This is my
simple javascript code:
const myAddon = require('addon location');
const myObj = myAddon.MyObj();
const data = Buffer.from('test');
myObj = doSomething(data);
After that in my c++ I have this:
void MyObj::doSomething(const v8::FunctionCallbackInfo<v8::Value> &args) {)
{
Local<v8::ArrayBufferView> dataBufferView =
Local<v8::ArrayBufferView>::Cast(args[1]);
std::cout << "Lenght on dataBufferView: " << dataBufferView->ByteLength()
<< std::endl;
std::cout << "Byte offset on dataBufferView: " <<
dataBufferView->ByteOffset() << std::endl;
Local<ArrayBuffer> dataBuffer = dataBufferView->Buffer();
std::cout << "Lenght dataBuffer: " << dataBuffer->ByteLength() <<
std::endl;
ArrayBuffer::Contents dataContent = dataBuffer->Externalize();
uint8_t* startData = static_cast<uint8_t*>(dataContent.Data());
std::cout << "Content of " <<dataContent.ByteLength() << " from js: ";
for(unsigned int i = 0; i < dataContent->ByteLength(); i++) {
std::cout << *(startData + i);
}
std::cout << std::endl;
}
What is strange in this simple code is that dataBuffer->ByteLength() is
8192 and if I print out the data content what I see is my full javascript
code and some other binary data.
So.. what is the right way to access data?
--
--
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
---
You received this message because you are subscribed to the Google Groups
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.