Method: Networking.write_to_stream
- Defined in:
- lib/networking/tcp.rb
.write_to_stream(stream, obj) ⇒ Object
TODO(kolman): To get robustness, just use try catch + return 0 bytes on write + return false on status on read.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/networking/tcp.rb', line 10 def Networking.write_to_stream(stream, obj) Log.debug3('Writing to stream.') marshal_data = Marshal.dump(obj) Log.debug2("Writing data size: %s", marshal_data.length) data_size = [marshal_data.length].pack("l") if data_size.nil? || marshal_data.nil? Log.debug2('Send data size is nil!') end begin bytes_written = stream.write data_size bytes_written += stream.write marshal_data return bytes_written rescue Exception => e Log.warning("Could not write tcp/ip stream, #{e.to_s}") begin stream.close() rescue IOError => e Log.warning("Could not close stream, #{e.to_s}.") end return 0 end end |