- CZTop::Socket#wait_readable: honor small (< 0.5s) timeouts
- CZTop::Socket#wait_writable: honor small (< 0.5s) timeouts
- add missing
require 'io/wait'
to getIO#wait_readable
- CZTop::Socket#wait_readable
- drop broken support for Ruby < 3.2
- work around quirks of edge-triggered ZMQ FD
- CZTop::Socket#wait_writable
- drop broken support for Ruby < 3.2
- work around quirks of edge-triggered ZMQ FD
- fix waiting for readiness on ZMQ FD
- CZTop::Socket::ROUTER#wait_writable: don't raise SocketError if no peer is connected
- even if ZMQ_ROUTER_MANDATORY is set
- this can be used to wait for connected peers
- set a #sndtimeo if you want a an exception
- CZTop::Socket::CLIENT#wait_writable: don't raise SocketError if no peer is connected
- this can be used to wait for connected peers
- set a #sndtimeo if you want a an exception
- CZTop::ZsockOptions#[] and #[]=: avoid calling #public_methods if possible
- PolymorphicZsockMethods#wait: fail with NotImplementedError inside non-blocking Fibers
- fail with ArgumentError when sending message with no parts
- no changes, just re-release to update README on https://www.rubydoc.info/gems/cztop
- restore compatibility with Ruby 3.0+
- fix latency issue
- fix changelog URI
- refactor waiting for socket readability/writability
- fix ROUTER socket hanging in busy loop if ZMQ_ROUTER_MANDATORY flag is set and sending a message while no peers are connected
- same for unconnected CLIENT sockets
- slim down packaged gem
- modernize examples
- require Ruby 3.2
- some exceptions changed from EAGAIN to IO::TimeoutError
- Certificate.load and .new_from raise NotImplementedError if CURVE is not available
- refactor to make code Fiber Scheduler agnostic
- remove Async::IO::CZTopSocket
- speed up Async::IO#wait_readable and #wait_writable
- update CI and specs
- support Async
- modernize syntax using Rubocop
- use czmq-ffi-gen 1.1.0.pre1
- require Ruby >= 2.7.x
- use czmq-ffi-gen 1.0.x
- modernized project
- fix specs
- use czmq-ffi-gen 0.15.x
- CZTop::Monitor#listen: removed HANDSHAKE_FAILED and HANDSHAKE_SUCCEED events and added HANDSHAKE_SUCCEEDED, HANDSHAKE_FAILED_NO_DETAIL, HANDSHAKE:FAILED_PROTOCOL, HANDSHAKE_FAILED_AUTH to reflect changes in CZMQ
- add CZTop::Monitor#fd and #readable?
- add CZTop::ZsockOptions#fd (so #fd can be called on Sockets and Actors directly)
- CZTop::Message#to_a: create less intermediate objects
- support ZMQ_RECONNECT_IVL option
- CZTop::Frame#group: return nil if group string is empty
- no changes, but this release includes an up-to-date version of this file
- actually include the change for CZTop::Poller#wait documented in 0.12.0
- more robust specs around CZTop::Monitor
- test recent rubies on CI
- CZTop::Monitor#listen: accept HANDSHAKE_FAILED and HANDSHAKE_SUCCEED events
- remove shim classes for IO::EAGAINWaitWritable and IO::EAGAINWaitReadable missing in Ruby < 2.1
- CZTop::Poller#wait: handle new error EAGAIN (was ETIMEDOUT) from zmq_poller_wait()
- Socket#inspect: don't raise if native object has been destroyed
- upgrade to czmq-ffi-gen's 0.13.x line
- ZsockOptions#identity=: instead of asserting in CZMQ, raise ArgumentError if identity is invalid
- Metadata.load: check for incomplete property names and values
- upgrade to czmq-ffi-gen's 0.12.x line (which includes the CZMQ v4.0.0 release)
- add support for RADIO/DISH and SCATTER/GATHER sockets
- add CZTop::Frame#group and #group= methods
- add CZTop::Metadata to encode/decode ZMTP metadata
- add Socket#readable? and #writable?
- Socket#options: memoize the OptionAccessor instance
- Beacon#configure: correctly handle interrupt, and fix API doc
- no changes, but this release includes an up-to-date version of this file
- fix Beacon#configure (thanks to Chris Olstrom)
- Certificate.new_from: allow constructing a certificate with only a public key
- add CertStore interface to zcertstore
- add ability to pass an existing CertStore to Authenticator
- add ZAP Request/Response classes (useful for testing)
- update dependency of czmq-ffi-gen to "~> 0.10.0"
- CZTop::ZsockOptions::OptionsAccessor learns #fd and #events
- fix date format in this file
- no changes, but this release includes an up-to-date version of this file
- upgrade to czmq-ffi-gen's 0.9.x line (which supports fat gems for Windows)
- new example (weather PUB/SUB)
- add option to enable IPv6 on sockets
- avoid $DEBUG warnings
- fix specs on Rubinius
- better documentation
- minor CI improvements
- CZTop::Poller learns the following methods for convenience and compatibility:
- #add_reader
- #add_writer
- #remove_reader
- #remove_writer
- CZTop::Poller::Aggregated gets method delegators for the following 8 methods
for compatibility:
- CZTop::Poller#add
- CZTop::Poller#add_reader
- CZTop::Poller#add_writer
- CZTop::Poller#modify
- CZTop::Poller#remove
- CZTop::Poller#remove_reader
- CZTop::Poller#remove_writer
- CZTop::Poller#sockets
- port CZTop::Poller to
zmq_poller_*()
functions so it supports thread-safe sockets as well - extract niche features to CZTop::Poller::Aggregated
- fix taxi system example
- drop support for CZMQ 3.0.2, ZMQ 4.0 and ZMQ 4.1
- improve documentation
- improve test suite
- simplify CZTop::Z85::Padded
- no length encoding
- padding similar to PKCS#7
- add utilities
z85encode
andz85decode
- add CZTop::Z85::Pipe
- CZTop::SUB#subscribe: subscribe to everything if no parameter given
- add support for Ruby 2.0
- improve documentation
- fix require()s in examples
- first release