SharedMemoryUtils
No description available
Install / Use
npx skills add simongeilfus/SharedMemoryUtilsInstalls into whichever agent you are using.
README
#SharedMemory Utilities A collection of small shared memory utilities based on boost::interprocess. http://www.boost.org/doc/libs/1_55_0/doc/html/interprocess.html
####Server/Clients Messages System Initialize the server like this:
sm::MessengerRef mMessages;
mMessages = sm::Messenger::createServer( "SharedMemoryName" );
And as many clients as you want:
sm::MessengerRef mMessages;
mMessages = sm::Messenger::createClient( "SharedMemoryName" );
You can send and receive messages from both end. The only difference between server and clients is that the server take care of creating and destroying the shared memory segment.
sm::Message m = mMessages->createMessage( "Test" );
m.addIntArg( 123456 );
m.addFloatArg( 0.987654f );
m.addStringArg( "Hello Shared Memory!" );
mMessages->sendMessage( m );
if( mMessages->hasMessageWaiting() ){
sm::Message m = mMessages->getFrontMessage();
cout << m.getAddress() << endl;
for( int i = 0; i < m.getNumArgs(); i++ ){
cout << '\t' << m.getArgAsString( i ) << endl;
}
}
####Smart Pointers Create your shared_ptr like this:
sm::shared_memory_object::remove( "SharedMemory" );
sm::managed_shared_memory sharedMemory = sm::managed_shared_memory( sm::itp::create_only, "SharedMemory", sizeof(Object) );
sm::shared_ptr<Object> sharedObject = sm::make_shared( sharedMemory.construct<Object>("SharedObject")(), sharedMemory );
And find them on the other side like this:
sm::managed_shared_memory sharedMemory = sm::managed_shared_memory( sm::itp::open_only, "SharedMemory" );
sm::shared_ptr<Object> sharedObject = sm::make_shared( sharedMemory.find<Object>("SharedObject").first, sharedMemory );
Related Skills
node-connect
385.5kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
blender-python-addon
40.5kBlender Python add-on rules for operators, panels, properties, registration, testing, and API-safe scripting
flutter-development-guidelines-cursorrules-prompt-file
40.5kCursor rules for Flutter development with MVVM architecture, Riverpod state management, Material widgets, and Dart style guidelines.
commit-push-pr
140.7kCommit, push, and open a PR
