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