README.md in sysvmq-0.1.1 vs README.md in sysvmq-0.2.0

- old
+ new

@@ -1,13 +1,15 @@ # sysvmq [![Build Status](https://travis-ci.org/Sirupsen/sysvmq.png?branch=v0.1.0)](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