Skip to content
/ SMem Public

A Python library that is used to handle interprocess communication platform independently in Python.

License

Notifications You must be signed in to change notification settings

hlpdev/SMem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SMem

The SMem library is used to handle interprocess communication (IPC) platform independently in Python.

Usage

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!

Creating a shared memory instance:

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)

Attaching to a shared memory instance:

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

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)

Reading shared memory

# Assume "shared_memory" contains an active instance of SMem
data = shared_memory.read()

Closing an instance

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()

About

A Python library that is used to handle interprocess communication platform independently in Python.

Resources

License

Stars

Watchers

Forks

Languages