Sha256: f83c38996841b9bed63f60448f3f1a10464d8dff1f416cd319d00becd5285e9d

Contents?: true

Size: 782 Bytes

Versions: 243

Compression:

Stored size: 782 Bytes

Contents

require 'java'

# Conservative native JRuby/Java implementation of IOBuffer
# backed by a ByteArrayOutputStream and conversion between
# Ruby String and Java bytes
module Puma
  class JavaIOBuffer < java.io.ByteArrayOutputStream
    field_reader :buf
  end

  class IOBuffer
    BUF_DEFAULT_SIZE = 4096

    def initialize
      @buf = JavaIOBuffer.new(BUF_DEFAULT_SIZE)
    end

    def reset
      @buf.reset
    end

    def <<(str)
      bytes = str.to_java_bytes
      @buf.write(bytes, 0, bytes.length)
    end

    def append(*strs)
      strs.each { |s| self << s; }
    end

    def to_s
      String.from_java_bytes @buf.to_byte_array
    end

    alias_method :to_str, :to_s

    def used
      @buf.size
    end

    def capacity
      @buf.buf.length
    end
  end
end

Version data entries

243 entries across 238 versions & 19 rubygems

Version Path
logstash-output-scalyr-0.2.1.beta vendor/bundle/jruby/2.5.0/gems/puma-2.16.0-java/lib/puma/java_io_buffer.rb
logstash-output-scalyr-0.2.0 vendor/bundle/jruby/2.5.0/gems/puma-2.16.0-java/lib/puma/java_io_buffer.rb
logstash-output-scalyr-0.2.0.beta vendor/bundle/jruby/2.5.0/gems/puma-2.16.0-java/lib/puma/java_io_buffer.rb
logstash-output-scalyr-0.1.26.beta vendor/bundle/jruby/2.5.0/gems/puma-2.16.0-java/lib/puma/java_io_buffer.rb
logstash-output-scalyr-0.1.25.beta vendor/bundle/jruby/2.5.0/gems/puma-2.16.0-java/lib/puma/java_io_buffer.rb
logstash-output-scalyr-0.1.24.beta vendor/bundle/jruby/2.5.0/gems/puma-2.16.0-java/lib/puma/java_io_buffer.rb
logstash-output-scalyr-0.1.23.beta vendor/bundle/jruby/2.5.0/gems/puma-2.16.0-java/lib/puma/java_io_buffer.rb
logstash-output-scalyr-0.1.22.beta vendor/bundle/jruby/2.5.0/gems/puma-2.16.0-java/lib/puma/java_io_buffer.rb
logstash-output-scalyr-0.1.21.beta vendor/bundle/jruby/2.5.0/gems/puma-2.16.0-java/lib/puma/java_io_buffer.rb
logstash-output-scalyr-0.1.20.beta vendor/bundle/jruby/2.5.0/gems/puma-2.16.0-java/lib/puma/java_io_buffer.rb
logstash-output-scalyr-0.1.19.beta vendor/bundle/jruby/2.5.0/gems/puma-2.16.0-java/lib/puma/java_io_buffer.rb
logstash-output-scalyr-0.1.18.beta vendor/bundle/jruby/2.5.0/gems/puma-2.16.0-java/lib/puma/java_io_buffer.rb
logstash-output-scalyr-0.1.17.beta vendor/bundle/jruby/2.5.0/gems/puma-2.16.0-java/lib/puma/java_io_buffer.rb
logstash-output-scalyr-0.1.16.beta vendor/bundle/jruby/2.5.0/gems/puma-2.16.0-java/lib/puma/java_io_buffer.rb
logstash-output-scalyr-0.1.15.beta vendor/bundle/jruby/2.5.0/gems/puma-2.16.0-java/lib/puma/java_io_buffer.rb
logstash-output-scalyr-0.1.14.beta vendor/bundle/jruby/2.5.0/gems/puma-2.16.0-java/lib/puma/java_io_buffer.rb
logstash-output-scalyr-0.1.13 vendor/bundle/jruby/2.5.0/gems/puma-2.16.0-java/lib/puma/java_io_buffer.rb
logstash-output-scalyr-0.1.12 vendor/bundle/jruby/2.5.0/gems/puma-2.16.0-java/lib/puma/java_io_buffer.rb
logstash-output-scalyr-0.1.11.beta vendor/bundle/jruby/2.5.0/gems/puma-2.16.0-java/lib/puma/java_io_buffer.rb
logstash-output-scalyr-0.1.10.beta vendor/bundle/jruby/2.5.0/gems/puma-2.16.0-java/lib/puma/java_io_buffer.rb