README.md in sysvmq-0.0.1 vs README.md in sysvmq-0.1.0
- old
+ new
@@ -1,10 +1,24 @@
# sysvmq
-`sysvmq` is a C extension that wraps SysV IPC Message Queues. Only compatible
-with MRI 2.0 and 2.1 currently.
+`sysvmq` is a C extension that wraps SysV IPC Message Queues. It's similar to
+the [POSIX MQ Ruby wrapper](https://github.com/Sirupsen/posix-mqueue). Message
+queues are handy for interprocess communication where you want to be able to
+take down either endpoint easily. The main disadvantage of SysV message queues
+over POSIX MQs (on Linux) is that SysV doesn't expose a file descriptor to do
+e.g. `select(2)` on.
+## Installation
+
+Add `sysvm` to your Gemfile.
+
+`gem 'sysvmq'`
+
+Currently known to work on Linux (MRI >= 2.0).
+
+## Usage
+
```ruby
# Create a message queue with a 1024 byte buffer.
require 'sysvmq'
mq = SysVMQ.new(0xDEADC0DE, 1024, SysVMQ::IPC_CREAT | 0666)
@@ -19,8 +33,12 @@
ensure
# Delete queue
mq.destroy
```
-## Installation
+## Todo
- gem 'sysv-mq', github: "Sirupsen/sysvmq" # until published to rubygems
+* Explain messages types
+* Add named params for flags (e.g. `mq.receive(:front, blocking: false)`)
+ instead of ORing flags directly.
+* Add `IPC_INFO` on Linux
+* Add all of `IPC_STAT`