summaryrefslogtreecommitdiffstats
path: root/vendor/thrift/transport/buffered_transport.rb
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/thrift/transport/buffered_transport.rb')
-rw-r--r--vendor/thrift/transport/buffered_transport.rb108
1 files changed, 0 insertions, 108 deletions
diff --git a/vendor/thrift/transport/buffered_transport.rb b/vendor/thrift/transport/buffered_transport.rb
deleted file mode 100644
index 676a4d3..0000000
--- a/vendor/thrift/transport/buffered_transport.rb
+++ /dev/null
@@ -1,108 +0,0 @@
-# encoding: ascii-8bit
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-module Thrift
- class BufferedTransport < BaseTransport
- DEFAULT_BUFFER = 4096
-
- def initialize(transport)
- @transport = transport
- @wbuf = ''
- @rbuf = ''
- @index = 0
- end
-
- def open?
- return @transport.open?
- end
-
- def open
- @transport.open
- end
-
- def close
- flush
- @transport.close
- end
-
- def read(sz)
- @index += sz
- ret = @rbuf.slice(@index - sz, sz) || ''
-
- if ret.length == 0
- @rbuf = @transport.read([sz, DEFAULT_BUFFER].max)
- @index = sz
- ret = @rbuf.slice(0, sz) || ''
- end
-
- ret
- end
-
- def read_byte
- # If the read buffer is exhausted, try to read up to DEFAULT_BUFFER more bytes into it.
- if @index >= @rbuf.size
- @rbuf = @transport.read(DEFAULT_BUFFER)
- @index = 0
- end
-
- # The read buffer has some data now, read a single byte. Using get_string_byte() avoids
- # allocating a temp string of size 1 unnecessarily.
- @index += 1
- return ::Thrift::TransportUtils.get_string_byte(@rbuf, @index - 1)
- end
-
- def read_into_buffer(buffer, size)
- i = 0
- while i < size
- # If the read buffer is exhausted, try to read up to DEFAULT_BUFFER more bytes into it.
- if @index >= @rbuf.size
- @rbuf = @transport.read(DEFAULT_BUFFER)
- @index = 0
- end
-
- # The read buffer has some data now, so copy bytes over to the output buffer.
- byte = ::Thrift::TransportUtils.get_string_byte(@rbuf, @index)
- ::Thrift::TransportUtils.set_string_byte(buffer, i, byte)
- @index += 1
- i += 1
- end
- i
- end
-
- def write(buf)
- @wbuf << buf
- end
-
- def flush
- if @wbuf != ''
- @transport.write(@wbuf)
- @wbuf = ''
- end
-
- @transport.flush
- end
- end
-
- class BufferedTransportFactory < BaseTransportFactory
- def get_transport(transport)
- return BufferedTransport.new(transport)
- end
- end
-end \ No newline at end of file