Class: ParallelWork::Messaging::Receiving

Inherits:
Object
  • Object
show all
Defined in:
lib/parallel_work/messaging.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(socket) ⇒ Receiving

Returns a new instance of Receiving.



71
72
73
# File 'lib/parallel_work/messaging.rb', line 71

def initialize socket
  @socket = socket
end

Class Method Details

.recv(socket) ⇒ Object



67
68
69
# File 'lib/parallel_work/messaging.rb', line 67

def self.recv socket
  new(socket).recv_message
end

Instance Method Details

#recv_messageObject



75
76
77
78
79
80
81
82
83
84
85
# File 'lib/parallel_work/messaging.rb', line 75

def recv_message
  message_type = recv_message_type.strip
  message = build_message message_type
  if message.has_payload?
    payload_length = recv_payload_length
    marshalled_payload = recv_payload payload_length
    unmarshalled_payload = unmarshall_payload marshalled_payload
    message.payload = unmarshalled_payload
  end
  message
end