- p2p socket library
- p2p contact list kademlia like algorithm built in
- file_loader - everything needed to store persistent state of application
- vector_loader, map_loader - store big amounts of data in file system
- transactions - commit/rollback interface for storage related operations
- dependencies? boost, crypto++, belt.pp and a simple cmake utility
- portable? yes! it's a goal. clang, gcc, msvc working.
- build system? cmake. refer to cmake project generator options for msvc, xcode, etc... project generation.
- static linking vs dynamic linking? both supported, refer to BUILD_SHARED_LIBS cmake option
- 32 bit build? never tried to fix build errors/warnings
- header only? no.
- c++11
- unicode support? boost::filesystem::path ensures that unicode paths are well supported and the rest of the code assumes that std::string is utf8 encoded.
user@pc:~$ mkdir projects
user@pc:~$ cd projects
user@pc:~/projects$ git clone https://github.com/publiqnet/mesh.pp
user@pc:~/projects$ cd mesh.pp
user@pc:~/projects/mesh.pp$ git submodule update --init --recursive
user@pc:~/projects/mesh.pp$ cd ..
user@pc:~/projects$ mkdir mesh.pp.build
user@pc:~/projects$ cd mesh.pp.build
user@pc:~/projects/mesh.pp.build$ cmake -DCMAKE_INSTALL_PREFIX=./install ../mesh.pp
user@pc:~/projects/mesh.pp.build$ cmake --build . --target install
yes, we keep up with belt.pp. it's a part of the project, so, if you're a developer contributing to belt.pp too, then
user@pc:~$ cd projects/mesh.pp
user@pc:~/projects/mesh.pp$ cd src/belt.pp
user@pc:~/projects/mesh.pp/src/belt.pp$ git checkout master
user@pc:~/projects/mesh.pp/src/belt.pp$ git pull
refer to belt.pp readme