How about using the binary format of the VM itself? It’s a tested format that 
gives you instant compatibility with Pharo. I guess the VM people have 
documentation for it and could give you some pointers.

--
Does this mail seem too brief? Sorry for that, I don’t mean to be rude! Please 
see http://emailcharter.org <http://emailcharter.org/> .

Johan Fabry   -   http://pleiad.cl/~jfabry
PLEIAD and RyCh labs  -  Computer Science Department (DCC)  -  University of 
Chile

> On 09 Nov 2016, at 17:27, Dimitris Chloupis <kilon.al...@gmail.com> wrote:
> 
> So now that CPPBridge at least basic are sort out I have to figure out a 
> binary file format
> 
> The idea here is to implement an image format which will be part of the 
> memory of the Pharo process but will live outside the memory of the Pharo VM. 
> Lets call this CPPMemory will be stored to an image file, lets call it 
> CPPImage, like we do with the Pharo image and will store a shared state among 
> all other processes (Pharo or not) that connect to this shared memory 
> (CPPMemory) via accessing the file (CPPImage). So basically it will act as an 
> extension to the Pharo image. 
> 
> In the image file , objects will be stored obviously not in a byte-code 
> format but definitely in a byte format that will basically store the data of 
> this object using very basic primitives like character , integers and of 
> course bytes. 
> 
> Obviously each object will have to have an id as a header and also its size 
> in bytes and the size of each of its instance variables.
> 
> There will be also a global headers for the entire file with the list of the 
> objects included and probably a references to other CPP images that they will 
> be able to interconnect with each other like lego blocks.
> 
> Thats my vague idea, but I am open to suggestions and even links to articles 
> and documentation about what a binary format must have to be considered well 
> architectured.  Obviously I dont expect perfection because this is my first 
> binary file format but at least I am looking for advise for avoiding common 
> pitfalls. 

Reply via email to