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



74
75
76
77
# File 'lib/celluloid/zmq/sockets.rb', line 74

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

#connect(addr) ⇒ Object



79
80
81
82
# File 'lib/celluloid/zmq/sockets.rb', line 79

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

#read(buffer = '') ⇒ Object

Read a message from the socket



85
86
87
88
89
90
91
92
# File 'lib/celluloid/zmq/sockets.rb', line 85

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