Class: Megatest::MultiProcess::MessageSocket

Inherits:
Object
  • Object
show all
Defined in:
lib/megatest/multi_process.rb

Instance Method Summary collapse

Constructor Details

#initialize(socket) ⇒ MessageSocket

Returns a new instance of MessageSocket.



23
24
25
# File 'lib/megatest/multi_process.rb', line 23

def initialize(socket)
  @socket = socket
end

Instance Method Details

#<<(message) ⇒ Object



27
28
29
30
31
32
33
34
# File 'lib/megatest/multi_process.rb', line 27

def <<(message)
  begin
    @socket.write(Marshal.dump(message))
  rescue Errno::EPIPE, Errno::ENOTCONN
    return nil # Other side was closed
  end
  self
end

#closeObject



46
47
48
# File 'lib/megatest/multi_process.rb', line 46

def close
  @socket.close
end

#closed?Boolean

Returns:

  • (Boolean)


42
43
44
# File 'lib/megatest/multi_process.rb', line 42

def closed?
  @socket.closed?
end

#readObject



36
37
38
39
40
# File 'lib/megatest/multi_process.rb', line 36

def read
  Marshal.load(@socket)
rescue EOFError, Errno::ECONNRESET
  nil # Other side was closed
end

#to_ioObject



50
51
52
# File 'lib/megatest/multi_process.rb', line 50

def to_io
  @socket
end