attach queue client blockdevice attaches to a previously-created shared ring on top of
detach t frees all resources associated with
t. Attempts to use
t after a detach will result in an
state t () queries the current state of the ring. If the result is `Suspended then the producer has acknowledged and will nolonger produce items. Clients which support suspend/resume should arrange to call this function periodically.
debug_info t returns a list of key=value pairs which may be useful for debugging. Nothing should be assumed about the keys or the values; they should only be printed or logged.
create blockdevice initialises a shared ring on top of
blockdevice where we will be able to
push variable-sized items.
push t item pushes
item onto the ring
t but doesn't expose it to the Consumer.
`Ok position means the update has been safely written to the block device and can be exposed to the Consumer by calling
`Error message indicates some fatal software bug: the message should be logged and the process shutdown.
`Suspend means that the consumer has requested that no more items be pushed onto the queue temporarily
`Retry means that the item should fit but there is temporarily not enough space in the ring. The client should retry later.