Class: PlainBufferInputStream
- Inherits:
- 
      Object
      
        - Object
- PlainBufferInputStream
 
- Defined in:
- lib/tablestore/plain_buffer_input_stream.rb
Instance Method Summary collapse
- #buffer ⇒ Object
- #check_last_tag_was(tag) ⇒ Object
- #cur_pos ⇒ Object
- #get_last_tag ⇒ Object
- 
  
    
      #initialize(data_buffer)  ⇒ PlainBufferInputStream 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of PlainBufferInputStream. 
- #is_at_end? ⇒ Boolean
- #last_tag ⇒ Object
- #read_boolean ⇒ Object
- #read_bytes(size) ⇒ Object
- #read_double ⇒ Object
- #read_int32 ⇒ Object
- #read_int64 ⇒ Object
- #read_raw_byte ⇒ Object
- #read_raw_little_endian32 ⇒ Object
- #read_raw_little_endian64 ⇒ Object
- #read_tag ⇒ Object
- #read_utf_string(size) ⇒ Object
Constructor Details
#initialize(data_buffer) ⇒ PlainBufferInputStream
Returns a new instance of PlainBufferInputStream.
| 4 5 6 7 8 | # File 'lib/tablestore/plain_buffer_input_stream.rb', line 4 def initialize(data_buffer) @buffer = data_buffer @cur_pos = 0 @last_tag = 0 end | 
Instance Method Details
#buffer ⇒ Object
| 91 92 93 | # File 'lib/tablestore/plain_buffer_input_stream.rb', line 91 def buffer @buffer end | 
#check_last_tag_was(tag) ⇒ Object
| 23 24 25 | # File 'lib/tablestore/plain_buffer_input_stream.rb', line 23 def check_last_tag_was(tag) @last_tag.ord == tag end | 
#cur_pos ⇒ Object
| 87 88 89 | # File 'lib/tablestore/plain_buffer_input_stream.rb', line 87 def cur_pos @cur_pos end | 
#get_last_tag ⇒ Object
| 27 28 29 | # File 'lib/tablestore/plain_buffer_input_stream.rb', line 27 def get_last_tag @last_tag.ord end | 
#is_at_end? ⇒ Boolean
| 10 11 12 | # File 'lib/tablestore/plain_buffer_input_stream.rb', line 10 def is_at_end? @buffer.length == @cur_pos end | 
#last_tag ⇒ Object
| 83 84 85 | # File 'lib/tablestore/plain_buffer_input_stream.rb', line 83 def last_tag @last_tag end | 
#read_boolean ⇒ Object
| 50 51 52 | # File 'lib/tablestore/plain_buffer_input_stream.rb', line 50 def read_boolean read_bytes(1).unpack('C')[0] == 1 end | 
#read_bytes(size) ⇒ Object
| 66 67 68 69 70 71 | # File 'lib/tablestore/plain_buffer_input_stream.rb', line 66 def read_bytes(size) raise TableStoreClientError.new("Read bytes encountered EOF.") if @buffer.length - @cur_pos < size tmp_pos = @cur_pos @cur_pos += size @buffer[tmp_pos, size] end | 
#read_double ⇒ Object
| 54 55 56 | # File 'lib/tablestore/plain_buffer_input_stream.rb', line 54 def read_double read_bytes(8).unpack('q<')[0] end | 
#read_int32 ⇒ Object
| 58 59 60 | # File 'lib/tablestore/plain_buffer_input_stream.rb', line 58 def read_int32 read_bytes(4).unpack('i<')[0] end | 
#read_int64 ⇒ Object
| 62 63 64 | # File 'lib/tablestore/plain_buffer_input_stream.rb', line 62 def read_int64 read_bytes(8).unpack('q<')[0] end | 
#read_raw_byte ⇒ Object
| 31 32 33 34 35 36 37 38 39 40 | # File 'lib/tablestore/plain_buffer_input_stream.rb', line 31 def read_raw_byte raise TableStoreClientError.new("Read raw byte encountered EOF.") if is_at_end? pos = @cur_pos @cur_pos += 1 if @buffer[pos].is_a?(Fixnum) [@buffer[pos]].chr else @buffer[pos] end end | 
#read_raw_little_endian32 ⇒ Object
| 46 47 48 | # File 'lib/tablestore/plain_buffer_input_stream.rb', line 46 def read_raw_little_endian32 read_bytes(4).unpack('i<')[0] end | 
#read_raw_little_endian64 ⇒ Object
| 42 43 44 | # File 'lib/tablestore/plain_buffer_input_stream.rb', line 42 def read_raw_little_endian64 read_bytes(8).unpack('q<')[0] end | 
#read_tag ⇒ Object
| 14 15 16 17 18 19 20 21 | # File 'lib/tablestore/plain_buffer_input_stream.rb', line 14 def read_tag if is_at_end? @last_tag = 0 return 0 end @last_tag = read_raw_byte @last_tag.ord end | 
#read_utf_string(size) ⇒ Object
| 73 74 75 76 77 78 79 80 81 | # File 'lib/tablestore/plain_buffer_input_stream.rb', line 73 def read_utf_string(size) raise TableStoreClientError.new("Read bytes encountered EOF.") if @buffer.length - @cur_pos < size utf_str = @buffer[@cur_pos, size] @cur_pos += size if utf_str.is_a?(String) utf_str = utf_str.force_encoding('UTF-8') end utf_str end |