Sha256: 42344808ca91bd2fbfeb3eee770b5552d5a8df728c6b12f77dcb4741596b7ae5
Contents?: true
Size: 1.08 KB
Versions: 3
Compression:
Stored size: 1.08 KB
Contents
require_relative 'socket' # Syntactic sugar for 0MQ, because Ruby shouldn't feel like C. module EZMQ # Request socket that sends messages and receives replies. class Client < EZMQ::Socket # Creates a new Client socket. # # @param [:bind, :connect] mode (:connect) a mode for the socket. # @param [Hash] options optional parameters. # @see EZMQ::Socket EZMQ::Socket for optional parameters. # # @return [Client] a new instance of Client. # def initialize(mode = :connect, **options) super mode, ZMQ::REQ, options end # Sends a message and waits to receive a response. # # @param [String] message the message to send. # @param [Hash] options optional parameters. # @option options [lambda] encode how to encode the message. # @option options [lambda] decode how to decode the message. # # @return [void] the decoded response message. # def request(message, **options) send message, options if block_given? yield receive options else receive options end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ezmq-0.4.12 | lib/ezmq/request.rb |
ezmq-0.4.11 | lib/ezmq/request.rb |
ezmq-0.4.4 | lib/ezmq/request.rb |