README.md in sysvmq-0.1.1 vs README.md in sysvmq-0.2.0
- old
+ new
@@ -1,13 +1,15 @@
# sysvmq [](https://travis-ci.org/Sirupsen/sysvmq)
-`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.
+`sysvmq` is a C extension that wraps System V 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. For example, a pipe or socket requires
+you to implement handover logic in both applications. 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. The advantage of SysV is that it's
+implemented on OS X, which POSIX MQs are not.
Note that `sysvmq` doesn't rely on any third-party message broker. The message
queue is handled by the kernel. It's extremely stable and performant.
## Installation
@@ -26,10 +28,10 @@
mq = SysVMQ.new(0xDEADC0DE, 1024, SysVMQ::IPC_CREAT | 0666)
mq.send "Hellø Wårld!"
assert_equal 1, mq.stats[:count]
-assert_equal "Hellø Wårld!", mq.receive
+assert_equal "Hellø Wårld!", mq.receive.force_encoding("UTF-8")
# Raise an exception instead of blocking until a message is available
mq.receive(0, SysVMQ::IPC_NOWAIT)
ensure