class Tros::IPC::FramedWriter

Attributes

writer[R]

Public Class Methods

new(writer) click to toggle source
    # File lib/tros/ipc.rb
465 def initialize(writer)
466   @writer = writer
467 end

Public Instance Methods

to_s() click to toggle source
    # File lib/tros/ipc.rb
484 def to_s; writer.string; end
write_framed_message(message) click to toggle source
    # File lib/tros/ipc.rb
469 def write_framed_message(message)
470   message_size = message.size
471   total_bytes_sent = 0
472   while message_size - total_bytes_sent > 0
473     if message_size - total_bytes_sent > BUFFER_SIZE
474       buffer_size = BUFFER_SIZE
475     else
476       buffer_size = message_size - total_bytes_sent
477     end
478     write_buffer(message[total_bytes_sent, buffer_size])
479     total_bytes_sent += buffer_size
480   end
481   write_buffer_size(0)
482 end

Private Instance Methods

write_buffer(chunk) click to toggle source
    # File lib/tros/ipc.rb
487 def write_buffer(chunk)
488   buffer_size = chunk.size
489   write_buffer_size(buffer_size)
490   writer << chunk
491 end
write_buffer_size(n) click to toggle source
    # File lib/tros/ipc.rb
493 def write_buffer_size(n)
494   writer.write([n].pack('N'))
495 end