Class: Thrift::BaseTransport
- Inherits:
-
Object
- Object
- Thrift::BaseTransport
- Defined in:
- lib/thrift/transport/base_transport.rb
Direct Known Subclasses
BufferedTransport, FramedTransport, HTTPClientTransport, HeaderTransport, IOStreamTransport, MemoryBufferTransport, Socket
Instance Method Summary collapse
- #close ⇒ Object
- #flush ⇒ Object
- #open ⇒ Object
- #open? ⇒ Boolean
-
#read(sz) ⇒ Object
Reads a number of bytes from the transports.
- #read_all(size) ⇒ Object
-
#read_byte ⇒ Object
Returns an unsigned byte as a Integer in the range (0..255).
-
#read_into_buffer(buffer, size) ⇒ Object
Reads size bytes and copies them into buffer.
- #to_s ⇒ Object
-
#write(buf) ⇒ Object
(also: #<<)
Writes the byte buffer to the transport.
Instance Method Details
#close ⇒ Object
57 |
# File 'lib/thrift/transport/base_transport.rb', line 57 def close; end |
#flush ⇒ Object
105 |
# File 'lib/thrift/transport/base_transport.rb', line 105 def flush; end |
#open ⇒ Object
55 |
# File 'lib/thrift/transport/base_transport.rb', line 55 def open; end |
#open? ⇒ Boolean
53 |
# File 'lib/thrift/transport/base_transport.rb', line 53 def open?; end |
#read(sz) ⇒ Object
Reads a number of bytes from the transports. The String returned will have a BINARY (aka ASCII-8BIT) encoding.
sz - The number of bytes to read from the transport.
Returns a String acting as a byte buffer.
64 65 66 |
# File 'lib/thrift/transport/base_transport.rb', line 64 def read(sz) raise NotImplementedError end |
#read_all(size) ⇒ Object
85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/thrift/transport/base_transport.rb', line 85 def read_all(size) raise TransportException.new(TransportException::NEGATIVE_SIZE, 'Negative size') unless size >= 0 return Bytes.empty_byte_buffer if size == 0 buf = Bytes.force_binary_encoding(read(size)) while (buf.length < size) chunk = read(size - buf.length) buf << chunk end buf end |
#read_byte ⇒ Object
Returns an unsigned byte as a Integer in the range (0..255).
69 70 71 72 |
# File 'lib/thrift/transport/base_transport.rb', line 69 def read_byte buf = read_all(1) return Bytes.get_string_byte(buf, 0) end |
#read_into_buffer(buffer, size) ⇒ Object
Reads size bytes and copies them into buffer.
75 76 77 78 79 80 81 82 83 |
# File 'lib/thrift/transport/base_transport.rb', line 75 def read_into_buffer(buffer, size) tmp = read_all(size) i = 0 tmp.each_byte do |byte| Bytes.set_string_byte(buffer, i, byte) i += 1 end i end |
#to_s ⇒ Object
107 108 109 |
# File 'lib/thrift/transport/base_transport.rb', line 107 def to_s "base" end |
#write(buf) ⇒ Object Also known as: <<
Writes the byte buffer to the transport. The buffer will be forced into BINARY encoding.
buf - A String acting as a byte buffer.
Returns nothing.
102 |
# File 'lib/thrift/transport/base_transport.rb', line 102 def write(buf); end |