Cap'n Proto for D v0.1.2

Jay Norwood via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Wed Apr 19 11:24:46 PDT 2017


On Wednesday, 19 April 2017 at 16:52:14 UTC, Thomas Brix Larsen 
wrote:
> Take a look at FileDescriptor[1]. It is a class I've added to 
> support read/write using File from std.stdio. You can create a 
> similar streamer using std.mmfile. I believe that this would be 
> enough for memory mapped reading.
>
> [1]: 
> https://github.com/ThomasBrixLarsen/capnproto-dlang/blob/master/source/capnproto/FileDescriptor.d

Ok, thanks. I took a look at several capnproto implementations 
just now, and didn't see any tests for a mmap 'feature'.  The 
roadmap doc below indicates it doesn't exist, and perhaps there 
are some details yet to be resolved to make it 'friendly' for a 
mmap.

https://capnproto.org/roadmap.html

mmap-friendly mutable storage format: Define a standard storage 
format that is friendly to mmap-based use while allowing 
modification. (With the current serialization format, mmap is 
only useful for read-only structures.) Possibly based on the ORM 
interface, updates only possible at the granularity of a whole 
ORM entry.


In java the MappedByteBuffer can be used with a RandomAccessFile 
channel, and then the accesses of the loaded map can be random, 
without requiring sequential accesses of the whole mapped file. 
So java nio already has some higher level classes in place that 
would make it easier to develop a first implementation of the 
mmap features.



More information about the Digitalmars-d-announce mailing list