Module: Celluloid::ZMQ::ReadableSocket

Extended by:
Forwardable
Included in:
DealerSocket, PullSocket, RepSocket, ReqSocket, RouterSocket, SubSocket
Defined in:
lib/celluloid/zmq/sockets.rb

Overview

Readable 0MQ sockets have a read method

Instance Method Summary collapse

Instance Method Details

#bind(addr) ⇒ Object

always set LINGER on readable sockets



58
59
60
61
# File 'lib/celluloid/zmq/sockets.rb', line 58

def bind(addr)
  self.linger = @linger
  super(addr)
end

#connect(addr) ⇒ Object



63
64
65
66
# File 'lib/celluloid/zmq/sockets.rb', line 63

def connect(addr)
  self.linger = @linger
  super(addr)
end

#read(buffer = '') ⇒ Object

Read a message from the socket



69
70
71
72
73
74
75
76
# File 'lib/celluloid/zmq/sockets.rb', line 69

def read(buffer = '')
  ZMQ.wait_readable(@socket) if ZMQ.evented?

  unless ::ZMQ::Util.resultcode_ok? @socket.recv_string buffer
    raise IOError, "error receiving ZMQ string: #{::ZMQ::Util.error_string}"
  end
  buffer
end