Class Thrift::MemoryBufferTransport
In: lib/thrift/transport/memory_buffer_transport.rb
lib/thrift/transport/memory_buffer_transport.rb
Parent: BaseTransport

Methods

available   available   close   close   flush   flush   inspect_buffer   inspect_buffer   new   new   open   open   open?   open?   peek   peek   read   read   reset_buffer   reset_buffer   write   write  

Constants

GARBAGE_BUFFER_SIZE = 4*(2**10)
GARBAGE_BUFFER_SIZE = 4*(2**10)

Public Class methods

If you pass a string to this, you should dup that string unless you want it to be modified by read and write

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 30
30:     def initialize(buffer = nil)
31:       @buf = buffer || ''
32:       @index = 0
33:     end

If you pass a string to this, you should dup that string unless you want it to be modified by read and write

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 30
30:     def initialize(buffer = nil)
31:       @buf = buffer || ''
32:       @index = 0
33:     end

Public Instance methods

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 55
55:     def available
56:       @buf.length - @index
57:     end

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 55
55:     def available
56:       @buf.length - @index
57:     end

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 42
42:     def close
43:     end

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 42
42:     def close
43:     end

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 77
77:     def flush
78:     end

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 77
77:     def flush
78:     end

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 80
80:     def inspect_buffer
81:       out = []
82:       for idx in 0...(@buf.size)
83:         # if idx != 0
84:         #   out << " "
85:         # end
86:       
87:         if idx == @index
88:           out << ">"
89:         end
90:       
91:         out << @buf[idx].ord.to_s(16)
92:       end
93:       out.join(" ")
94:     end

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 80
80:     def inspect_buffer
81:       out = []
82:       for idx in 0...(@buf.size)
83:         # if idx != 0
84:         #   out << " "
85:         # end
86:       
87:         if idx == @index
88:           out << ">"
89:         end
90:       
91:         out << @buf[idx].ord.to_s(16)
92:       end
93:       out.join(" ")
94:     end

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 39
39:     def open
40:     end

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 39
39:     def open
40:     end

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 35
35:     def open?
36:       return true
37:     end

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 35
35:     def open?
36:       return true
37:     end

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 45
45:     def peek
46:       @index < @buf.size
47:     end

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 45
45:     def peek
46:       @index < @buf.size
47:     end

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 59
59:     def read(len)
60:       data = @buf.slice(@index, len)
61:       @index += len
62:       @index = @buf.size if @index > @buf.size
63:       if @index >= GARBAGE_BUFFER_SIZE
64:         @buf = @buf.slice(@index..-1)
65:         @index = 0
66:       end
67:       if data.size < len
68:         raise EOFError, "Not enough bytes remain in buffer"
69:       end
70:       data
71:     end

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 59
59:     def read(len)
60:       data = @buf.slice(@index, len)
61:       @index += len
62:       @index = @buf.size if @index > @buf.size
63:       if @index >= GARBAGE_BUFFER_SIZE
64:         @buf = @buf.slice(@index..-1)
65:         @index = 0
66:       end
67:       if data.size < len
68:         raise EOFError, "Not enough bytes remain in buffer"
69:       end
70:       data
71:     end

this method does not use the passed object directly but copies it

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 50
50:     def reset_buffer(new_buf = '')
51:       @buf.replace new_buf
52:       @index = 0
53:     end

this method does not use the passed object directly but copies it

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 50
50:     def reset_buffer(new_buf = '')
51:       @buf.replace new_buf
52:       @index = 0
53:     end

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 73
73:     def write(wbuf)
74:       @buf << wbuf
75:     end

[Source]

    # File lib/thrift/transport/memory_buffer_transport.rb, line 73
73:     def write(wbuf)
74:       @buf << wbuf
75:     end

[Validate]