Module: Celluloid::ZMQ::Socket::Writable

Extended by:
Forwardable
Included in:
Dealer, Pub, Push, Rep, Req, Router, XPub
Defined in:
lib/celluloid/zmq/socket/writable.rb

Overview

Writable 0MQ sockets have a send method

Instance Method Summary collapse

Instance Method Details

#write(*messages) ⇒ Object Also known as: <<, send

Send a message to the socket



9
10
11
12
13
14
# File 'lib/celluloid/zmq/socket/writable.rb', line 9

def write(*messages)
  unless result_ok? @socket.send_strings(messages.flatten)
    fail IOError, "error sending 0MQ message: #{::ZMQ::Util.error_string}"
  end
  messages
end

#write_to(address, message) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/celluloid/zmq/socket/writable.rb', line 18

def write_to(address, message)
  error = [IOError, "Failure sending part of message."]
  fail *error unless result_ok? @socket.send_string("#{address}", ::ZMQ::SNDMORE)
  fail *error unless result_ok? @socket.send_string("", ::ZMQ::SNDMORE)
  fail *error unless result_ok? @socket.send_string(message)
  message
end