This is an implementation of the Reactor pattern described in [Pattern-Oriented Software Architecture (Volume 2)][POSA2]. It allows an asynchronous application to be described as one or more "reactions" to events, in this case either I/O conditions on a ZMQ socket or a timer expiring. A simple example: # Start a SERVER socket, and print out any messages sent to it reactor = CZTop::Reactor.new socket = CZTop::Socket::SERVER.new socket.bind( 'tcp://0.0.0.0:8' ) reactor.register( socket, :read ) do |event| if event.readable? message = event.socket.receive puts "Read: %p" % [ message.to_a ] end end reactor.start_polling

Required Ruby Version

>= 2.2.4

Authors

Michael Granger

Versions

  1. 1.0.1 March 13, 2023 (21 KB)
  2. 1.0.0 April 27, 2022 (22 KB)
  3. 0.9.0 October 09, 2019 (23.5 KB)
  4. 0.8.0 May 22, 2019 (23 KB)
  5. 0.7.0 July 24, 2018 (22 KB)
  6. 0.2.0 April 29, 2017 (18.5 KB)
Show all versions (14 total)

SHA 256 checksum