class Avro::IPC::FramedWriter

Attributes

writer[R]

Public Class Methods

new(writer) click to toggle source
    # File lib/avro/ipc.rb
470 def initialize(writer)
471   @writer = writer
472 end

Public Instance Methods

to_s() click to toggle source
    # File lib/avro/ipc.rb
489 def to_s; writer.string; end
write_framed_message(message) click to toggle source
    # File lib/avro/ipc.rb
474 def write_framed_message(message)
475   message_size = message.bytesize
476   total_bytes_sent = 0
477   while message_size - total_bytes_sent > 0
478     if message_size - total_bytes_sent > BUFFER_SIZE
479       buffer_size = BUFFER_SIZE
480     else
481       buffer_size = message_size - total_bytes_sent
482     end
483     write_buffer(message[total_bytes_sent, buffer_size])
484     total_bytes_sent += buffer_size
485   end
486   write_buffer_size(0)
487 end

Private Instance Methods

write_buffer(chunk) click to toggle source
    # File lib/avro/ipc.rb
492 def write_buffer(chunk)
493   buffer_size = chunk.bytesize
494   write_buffer_size(buffer_size)
495   writer << chunk
496 end
write_buffer_size(n) click to toggle source
    # File lib/avro/ipc.rb
498 def write_buffer_size(n)
499   writer.write([n].pack('N'))
500 end