org.jruby.ext.ffi
Class Buffer

java.lang.Object
  extended by org.jruby.RubyBasicObject
      extended by org.jruby.RubyObject
          extended by org.jruby.ext.ffi.AbstractMemory
              extended by org.jruby.ext.ffi.Buffer
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<IRubyObject>, InstanceVariables, InternalVariables, IRubyObject, CoreObjectType

public final class Buffer
extends AbstractMemory

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jruby.RubyObject
RubyObject.Data
 
Nested classes/interfaces inherited from class org.jruby.RubyBasicObject
RubyBasicObject.Finalizer
 
Field Summary
static int IN
          Indicates that the Buffer is used for data copied IN to native memory
static int OUT
          Indicates that the Buffer is used for data copied OUT from native memory
 
Fields inherited from class org.jruby.ext.ffi.AbstractMemory
ABSTRACT_MEMORY_RUBY_CLASS, io, size, typeSize
 
Fields inherited from class org.jruby.RubyObject
OBJECT_ALLOCATOR, REIFYING_OBJECT_ALLOCATOR
 
Fields inherited from class org.jruby.RubyBasicObject
ALL_F, BASICOBJECT_ALLOCATOR, COMPARE_BY_IDENTITY_F, ERR_INSECURE_SET_INST_VAR, FALSE_F, FL_USHIFT, flags, FROZEN_F, metaClass, NEVER, NIL_F, TAINTED_F, UNDEF, UNTRUSTED_F, USER0_F, USER1_F, USER2_F, USER3_F, USER4_F, USER5_F, USER6_F, USER7_F, USER8_F
 
Fields inherited from interface org.jruby.runtime.builtin.IRubyObject
NULL_ARRAY
 
Constructor Summary
Buffer(Ruby runtime, byte[] data, int offset, int size)
           
Buffer(Ruby runtime, int size)
           
Buffer(Ruby runtime, int size, int flags)
           
Buffer(Ruby runtime, RubyClass klass)
           
 
Method Summary
static Buffer allocateInOut(ThreadContext context, IRubyObject recv, IRubyObject sizeArg)
           
static Buffer allocateInOut(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject arg2)
           
static Buffer allocateInOut(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject countArg, IRubyObject clearArg)
           
static Buffer allocateInput(ThreadContext context, IRubyObject recv, IRubyObject arg)
           
static Buffer allocateInput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject arg2)
           
static Buffer allocateInput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject countArg, IRubyObject clearArg)
           
static Buffer allocateOutput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg)
           
static Buffer allocateOutput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject arg2)
           
static Buffer allocateOutput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject countArg, IRubyObject clearArg)
           
static RubyClass createBufferClass(Ruby runtime, RubyModule module)
           
 int getInOutFlags()
           
protected  Pointer getPointer(Ruby runtime, long offset)
           
 IRubyObject initialize_copy(ThreadContext context, IRubyObject other)
           
 IRubyObject initialize(ThreadContext context, IRubyObject sizeArg)
           
 IRubyObject initialize(ThreadContext context, IRubyObject sizeArg, IRubyObject arg2)
           
 IRubyObject initialize(ThreadContext context, IRubyObject sizeArg, IRubyObject countArg, IRubyObject clearArg)
           
 IRubyObject inspect(ThreadContext context)
           
 AbstractMemory order(Ruby runtime, java.nio.ByteOrder order)
           
protected  AbstractMemory slice(Ruby runtime, long offset)
           
protected  AbstractMemory slice(Ruby runtime, long offset, long size)
           
 
Methods inherited from class org.jruby.ext.ffi.AbstractMemory
aref, calculateTypeSize, checkArray, clear, createAbstractMemoryClass, eql, equals, get_array_of_float, get_array_of_float64, get_array_of_int16, get_array_of_int32, get_array_of_int64, get_array_of_int8, get_array_of_long, get_array_of_pointer, get_array_of_string, get_array_of_string, get_array_of_uint16, get_array_of_uint32, get_array_of_uint64, get_array_of_uint8, get_array_of_ulong, get_bytes, get_float32, get_float32, get_float64, get_float64, get_int16, get_int16, get_int32, get_int32, get_int64, get_int64, get_int8, get_int8, get_long, get_long, get_pointer, get_pointer, get_string, get_string, get_string, get_uint16, get_uint16, get_uint32, get_uint32, get_uint64, get_uint64, get_uint8, get_uint8, get_ulong, get_ulong, getMemoryIO, getOffset, getSize, hash, hashCode, op_equal, op_plus, order, order, put_array_of_float, put_array_of_float64, put_array_of_int16, put_array_of_int32, put_array_of_int64, put_array_of_int8, put_array_of_long, put_array_of_pointer, put_array_of_uint16, put_array_of_uint32, put_array_of_uint64, put_array_of_uint8, put_array_of_ulong, put_bytes, put_callback, put_float32, put_float32, put_float64, put_float64, put_int16, put_int16, put_int32, put_int32, put_int64, put_int64, put_int8, put_int8, put_long, put_long, put_pointer, put_pointer, put_string, put_uint16, put_uint16, put_uint32, put_uint32, put_uint64, put_uint64, put_uint8, put_uint8, put_ulong, put_ulong, read_array_of_float, read_array_of_float64, read_array_of_int16, read_array_of_int32, read_array_of_int64, read_array_of_int8, read_array_of_long, read_array_of_pointer, read_array_of_string, read_array_of_string, read_array_of_uint16, read_array_of_uint32, read_array_of_uint64, read_array_of_uint8, read_array_of_ulong, read_char, read_double, read_float, read_int, read_long_long, read_long, read_pointer, read_short, read_string, read_string, read_uchar, read_uint, read_ulong_long, read_ulong, read_ushort, setMemoryIO, to_s, total, type_size, write_array_of_float, write_array_of_float64, write_array_of_int16, write_array_of_int32, write_array_of_int64, write_array_of_int8, write_array_of_long, write_array_of_pointer, write_array_of_uint16, write_array_of_uint32, write_array_of_uint64, write_array_of_uint8, write_array_of_ulong, write_char, write_double, write_float, write_int, write_long_long, write_long, write_pointer, write_short, write_uchar, write_uint, write_ulong_long, write_ushort
 
Methods inherited from class org.jruby.RubyObject
attachToObjectSpace, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, eqlInternal, equalInternal, getNativeTypeIndex, initialize, op_eqq, puts, specificEval, toString
 
Methods inherited from class org.jruby.RubyBasicObject
addFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkCallMethod, checkFrozen, checkStringType, checkStringType19, compareTo, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, createBasicObjectClass, dataGetStruct, dataGetStructChecked, dataWrapStruct, display, dup, ensureInstanceVariablesSettable, eql_p, equal_p, equal_p19, evalUnder, extend, fastGetInstanceVariable, fastGetInternalVariable, fastHasInstanceVariable, fastHasInternalVariable, fastSetInstanceVariable, fastSetInternalVariable, freeze, frozen_p, getFlag, getInstanceEvalClass, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariables, getJavaClass, getMetaClass, getObjectId, getRuntime, getSingletonClass, getSingletonClassClone, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hash, hashyInspect, hasInstanceVariable, hasInternalVariable, hasVariables, id_deprecated, id, infectBy, initialize_copy, initialize19, initialize19, initialize19, initialize19, initialize19, initObjectId, inspect, inspectHashCode, instance_eval, instance_eval, instance_eval, instance_eval, instance_eval19, instance_eval19, instance_eval19, instance_eval19, instance_exec, instance_exec19, instance_of_p, instance_variable_defined_p, instance_variable_get, instance_variable_set, instance_variables, instance_variables19, isBuiltin, isClass, isFalse, isFrozen, isImmediate, isModule, isNil, isTaint, isTrue, isUntrusted, kind_of_p, makeMetaClass, method_missing19, method, method19, methods, methods, methods19, nil_p, op_cmp, op_equal_19, op_match, op_match19, op_not_equal, op_not_match, op_not, private_methods, private_methods19, protected_methods, protected_methods19, public_methods, public_methods19, rbClone, remove_instance_variable, removeFinalizers, removeInstanceVariable, removeInternalVariable, respond_to_p, respond_to_p, respond_to_p19, respond_to_p19, respondsTo, respondsToMissing, respondsToMissing, send, send, send, send, send, send19, send19, send19, send19, send19, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, setTaint, setUntrusted, setVariable, singleton_method_added19, singleton_method_removed19, singleton_method_undefined19, singleton_methods, singleton_methods19, specificEval, specificEval, specificEval, specificEval, syncVariables, syncVariables, taint, taint, tainted_p, testFrozen, testFrozen, to_a, to_s, toJava, trust, type_deprecated, type, untaint, untrust, untrusted_p, validateInstanceVariable, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableRemove, variableTableStore, variableTableSync, yieldUnder, yieldUnder
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

IN

public static final int IN
Indicates that the Buffer is used for data copied IN to native memory

See Also:
Constant Field Values

OUT

public static final int OUT
Indicates that the Buffer is used for data copied OUT from native memory

See Also:
Constant Field Values
Constructor Detail

Buffer

public Buffer(Ruby runtime,
              RubyClass klass)

Buffer

public Buffer(Ruby runtime,
              int size)

Buffer

public Buffer(Ruby runtime,
              int size,
              int flags)

Buffer

public Buffer(Ruby runtime,
              byte[] data,
              int offset,
              int size)
Method Detail

createBufferClass

public static RubyClass createBufferClass(Ruby runtime,
                                          RubyModule module)

initialize

public IRubyObject initialize(ThreadContext context,
                              IRubyObject sizeArg)

initialize

public IRubyObject initialize(ThreadContext context,
                              IRubyObject sizeArg,
                              IRubyObject arg2)

initialize

public IRubyObject initialize(ThreadContext context,
                              IRubyObject sizeArg,
                              IRubyObject countArg,
                              IRubyObject clearArg)

initialize_copy

public IRubyObject initialize_copy(ThreadContext context,
                                   IRubyObject other)

allocateInOut

public static Buffer allocateInOut(ThreadContext context,
                                   IRubyObject recv,
                                   IRubyObject sizeArg)

allocateInOut

public static Buffer allocateInOut(ThreadContext context,
                                   IRubyObject recv,
                                   IRubyObject sizeArg,
                                   IRubyObject arg2)

allocateInOut

public static Buffer allocateInOut(ThreadContext context,
                                   IRubyObject recv,
                                   IRubyObject sizeArg,
                                   IRubyObject countArg,
                                   IRubyObject clearArg)

allocateInput

public static Buffer allocateInput(ThreadContext context,
                                   IRubyObject recv,
                                   IRubyObject arg)

allocateInput

public static Buffer allocateInput(ThreadContext context,
                                   IRubyObject recv,
                                   IRubyObject sizeArg,
                                   IRubyObject arg2)

allocateInput

public static Buffer allocateInput(ThreadContext context,
                                   IRubyObject recv,
                                   IRubyObject sizeArg,
                                   IRubyObject countArg,
                                   IRubyObject clearArg)

allocateOutput

public static Buffer allocateOutput(ThreadContext context,
                                    IRubyObject recv,
                                    IRubyObject sizeArg)

allocateOutput

public static Buffer allocateOutput(ThreadContext context,
                                    IRubyObject recv,
                                    IRubyObject sizeArg,
                                    IRubyObject arg2)

allocateOutput

public static Buffer allocateOutput(ThreadContext context,
                                    IRubyObject recv,
                                    IRubyObject sizeArg,
                                    IRubyObject countArg,
                                    IRubyObject clearArg)

inspect

public IRubyObject inspect(ThreadContext context)

order

public final AbstractMemory order(Ruby runtime,
                                  java.nio.ByteOrder order)
Specified by:
order in class AbstractMemory

slice

protected AbstractMemory slice(Ruby runtime,
                               long offset)
Specified by:
slice in class AbstractMemory

slice

protected AbstractMemory slice(Ruby runtime,
                               long offset,
                               long size)
Specified by:
slice in class AbstractMemory

getPointer

protected Pointer getPointer(Ruby runtime,
                             long offset)
Specified by:
getPointer in class AbstractMemory

getInOutFlags

public int getInOutFlags()


Copyright © 2002-2009 JRuby Team. All Rights Reserved.