The SMem library is used to handle interprocess communication (IPC) platform independently in Python.
Note
You must provide a name for the shared memory instance.
The size of the shared memory defaults to 1024
The create flag on the shared memory instance defaults to false, so make sure you ensure that an instance of the shared memory exists!
from smem.smem import SMem
# Create the SMem instance with the "create" flag
# enabled and a specified "size" of 1024
shared_memory = SMem("my_shared_memory", create=True, size=1024)
Useful for reading an existing shared memory instance.
from smem.smem import SMem
# Create the SMem instance with the "size" flag set to 1024
# (the same as when we created it)
shared_memory = SMem("my_shared_memory", size=1024)
Writing to shared memory will overwrite the existing value.
# Assume "shared_memory" contains an active instance of SMem
data = b"This is my data to write!"
shared_memory.write(data)
# Assume "shared_memory" contains an active instance of SMem
data = shared_memory.read()
Closing an instance that created the shared memory file:
# Assume "shared_memory" contains an active instance of SMem
# that created the shared memory file
shared_memory.close()
shared_memory.unlink()
Closing an instance that did not create the shared memory file:
# Assume "shared_memory" contains an active instance of SMem
# that did not create the shared memory file
shared_memory.close()