omq 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e18ec192a40dba5a208b0548d7c4f45091a95909ee9a56eb17782bccb85855c7
4
- data.tar.gz: 343a94d01152a9f76b8876b2a85f29b4adebaed2dd0fcdee958d01877f9970da
3
+ metadata.gz: 02d85dfeec36f9d537cdfac7512a4a5edbfbe95145ae9583e8f5428a43a2548d
4
+ data.tar.gz: 1598f1cdecdc0523cf4263a72318f0500b1bd9dccb46da703817fd0b30c74315
5
5
  SHA512:
6
- metadata.gz: 581b7119d33deedca75f3dd4d2701a0955ad4b4434d258ce368f1b61f5c25c3b4891e210007f331e0a051043cdf0936f1f1f7d1d9dabc5b25d4d4b79deb823f6
7
- data.tar.gz: 999d27f8c87edb499219d3d2927d0d67bea4a6171231e40a251348839343eca17ff9ab335735ec1585e04baa96f0ee5ff3f481128c113bb3a8f03d900f5cbfd0
6
+ metadata.gz: ee523b073066febf851dc2427b8ddd86c62bc44580a3a9c4283a4d72345ee52048e07a396da1db0de7265f7a641ac6aafe02827542a2786833c8e78b0a25bebf
7
+ data.tar.gz: 88933632f2e57c092090af0a322772db4431af55f85f4e9f41c21df2aa88d68bc9641ef3691a6826335b89b8b030275576b978ebf9f558a22ab4a329da5c3bbe
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.2 — 2026-03-26
4
+
5
+ ### Added
6
+
7
+ - `ØMQ` alias for `OMQ` — because Ruby can
8
+
3
9
  ## 0.2.1 — 2026-03-26
4
10
 
5
11
  ### Improved
data/README.md CHANGED
@@ -7,7 +7,11 @@
7
7
 
8
8
  Pure Ruby implementation of the [ZMTP 3.1](https://rfc.zeromq.org/spec/23/) wire protocol ([ZeroMQ](https://zeromq.org/)) using the [Async](https://github.com/socketry/async) gem. No native libraries required.
9
9
 
10
- > **186k msg/s** inproc throughput | **12 µs** req/rep roundtrip latency | pure Ruby + YJIT
10
+ > **167k msg/s** inproc | **42k msg/s** ipc | **32k msg/s** tcp
11
+ >
12
+ > **15 µs** inproc latency | **62 µs** ipc | **88 µs** tcp
13
+ >
14
+ > Ruby 4.0 + YJIT on a Linux VM on a 2019 MacBook Pro (Intel)
11
15
 
12
16
  ---
13
17
 
@@ -25,7 +29,7 @@ Modern Ruby has closed the gap:
25
29
 
26
30
  - **YJIT** — JIT-compiled hot paths close the throughput gap with C extensions
27
31
  - **Fiber Scheduler** — non-blocking I/O without callbacks or threads (`Async` builds on this)
28
- - **`IO::Buffer`** — zero-copy binary reads/writes, no manual `String#b` packing
32
+ - **`io-stream`** — buffered I/O with read-ahead, from the Async ecosystem
29
33
 
30
34
  When [CZTop](https://github.com/paddor/cztop) was written, none of this existed. Today, a pure Ruby ZMTP implementation is fast enough for production use — and you get `gem install` with no compiler toolchain, no system packages, and no segfaults.
31
35
 
@@ -109,7 +113,11 @@ end
109
113
  | Routing | `DEALER`, `ROUTER` | bidirectional |
110
114
  | Exclusive pair | `PAIR` | bidirectional |
111
115
 
112
- All classes live under `OMQ::`.
116
+ All classes live under `OMQ::`. For the purists, `ØMQ` is an alias:
117
+
118
+ ```ruby
119
+ req = ØMQ::REQ.new(">tcp://localhost:5555")
120
+ ```
113
121
 
114
122
  ## Performance
115
123
 
data/lib/omq/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OMQ
4
- VERSION = "0.2.1"
4
+ VERSION = "0.2.2"
5
5
  end
data/lib/omq.rb CHANGED
@@ -17,3 +17,6 @@ require_relative "omq/router_dealer"
17
17
  require_relative "omq/pub_sub"
18
18
  require_relative "omq/push_pull"
19
19
  require_relative "omq/pair"
20
+
21
+ # For the purists.
22
+ ØMQ = OMQ
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omq
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrik Wenger