resources.VidigiStore
self, env, num_resources=None, capacity=float('inf')) resources.VidigiStore(
A wrapper around SimPy’s Store that allows using a context manager pattern similar to resource requests.
This allows code like:
with store.request() as req: yield req # Use the item that was obtained yield env.timeout(10) # Item is automatically returned when exiting the context
AI USE DISCLOSURE: This code was generated by Claude 3.7 Sonnet. It has been evaluated and tested by a human.
Attributes
Name | Description |
---|---|
capacity | Get the capacity of the store |
items | Get all items currently in the store |
Methods
Name | Description |
---|---|
cancel_get | Cancels a pending get request by removing it from the queue. |
get | Alias for request() to maintain compatibility with both patterns. |
get_direct | Get an item from the store without the context manager. |
populate | Populate this VidigiStore with VidigiResource objects. |
put | Put an item into the store. |
request | Request context manager for getting an item from the store. |
request_direct | Alias for get_direct() to maintain consistent API with SimPy resources. |
cancel_get
resources.VidigiStore.cancel_get(get_event)
Cancels a pending get request by removing it from the queue.
get
resources.VidigiStore.get()
Alias for request() to maintain compatibility with both patterns.
Returns: A context manager for getting an item
get_direct
resources.VidigiStore.get_direct()
Get an item from the store without the context manager. Use this if you don’t want to automatically return the item.
Returns: A get event that can be yielded
populate
resources.VidigiStore.populate(num_resources)
Populate this VidigiStore with VidigiResource objects.
Creates num_resources
VidigiResource objects and adds them to this store.
Each VidigiResource is initialized with a capacity of 1 and a unique ID starting at 1.
Parameters
Name | Type | Description | Default |
---|---|---|---|
num_resources | int | The number of VidigiResource objects to create and add to the store. | required |
Returns
Name | Type | Description |
---|---|---|
None |
put
resources.VidigiStore.put(item)
Put an item into the store.
Args: item: The item to put in the store
request
resources.VidigiStore.request()
Request context manager for getting an item from the store. The item is automatically returned when exiting the context.
Usage: with store.request() as req: yield req # This yields the get event # Now we have the item from the store yield env.timeout(10) # Item is automatically returned when exiting the context
Returns: A context manager that returns the get event and handles returning the item
request_direct
resources.VidigiStore.request_direct()
Alias for get_direct() to maintain consistent API with SimPy resources.
Returns: A get event that can be yielded