Package org.jruby.ext.ffi
Class Buffer
java.lang.Object
org.jruby.RubyBasicObject
org.jruby.RubyObject
org.jruby.ext.ffi.MemoryObject
org.jruby.ext.ffi.AbstractMemory
org.jruby.ext.ffi.Buffer
- All Implemented Interfaces:
Serializable,Cloneable,Comparable<IRubyObject>,InstanceVariables,InternalVariables,IRubyObject,CoreObjectType
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.jruby.RubyObject
RubyObject.DataNested classes/interfaces inherited from class org.jruby.RubyBasicObject
RubyBasicObject.Finalizer -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intIndicates that the Buffer is used for data copied IN to native memorystatic final intIndicates that the Buffer is used for data copied OUT from native memoryFields inherited from class org.jruby.ext.ffi.AbstractMemory
ABSTRACT_MEMORY_RUBY_CLASS, size, typeSizeFields inherited from class org.jruby.RubyObject
IVAR_INSPECTING_OBJECT_ALLOCATOR, OBJECT_ALLOCATOR, REIFYING_OBJECT_ALLOCATORFields 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, IS_OVERLAID_F, metaClass, NEVER, NIL_F, REFINED_MODULE_F, STAMP_OFFSET, TAINTED_F, UNDEF, USER0_F, USER1_F, USER2_F, USER3_F, USER4_F, USER5_F, USER6_F, USER7_F, USER8_F, USER9_F, USERA_F, VAR_TABLE_OFFSET, varTable, varTableStampFields inherited from interface org.jruby.runtime.builtin.IRubyObject
NULL_ARRAY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic BufferallocateInOut(ThreadContext context, IRubyObject recv, IRubyObject sizeArg) static BufferallocateInOut(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject arg2) static BufferallocateInOut(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject countArg, IRubyObject clearArg) static BufferallocateInput(ThreadContext context, IRubyObject recv, IRubyObject arg) static BufferallocateInput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject arg2) static BufferallocateInput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject countArg, IRubyObject clearArg) static BufferallocateOutput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg) static BufferallocateOutput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject arg2) static BufferallocateOutput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject countArg, IRubyObject clearArg) static RubyClasscreateBufferClass(ThreadContext context, RubyModule FFI, RubyClass AbstractMemory) intprotected PointergetPointer(Ruby runtime, long offset) initialize(ThreadContext context, IRubyObject sizeArg, Block block) initialize(ThreadContext context, IRubyObject sizeArg, IRubyObject arg2, Block block) initialize(ThreadContext context, IRubyObject sizeArg, IRubyObject countArg, IRubyObject clearArg, Block block) initialize_copy(ThreadContext context, IRubyObject other) Initializes this object as a copy of the original, that is the parameter to this object.inspect(ThreadContext context) Returns a string containing a human-readable representation of obj.final AbstractMemoryprotected AbstractMemoryprotected AbstractMemoryMethods inherited from class org.jruby.ext.ffi.AbstractMemory
allocateMemoryIO, aref, calculateTypeSize, checkArray, clear, createAbstractMemoryClass, equals, get, 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, getOffset, getSize, hash, hashCode, op_equal, op_plus, order, order, put, 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_type, read_array_of_type, read_array_of_uint16, read_array_of_uint32, read_array_of_uint64, read_array_of_uint8, read_array_of_ulong, read_bytes, read_char, read_double, read_float, read_int, read_long, read_long_long, read_pointer, read_short, read_string, read_string, read_uchar, read_uint, read_uint16, read_uint8, read_ulong, read_ulong_long, read_ushort, slice, to_ptr, 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_type, write_array_of_type, write_array_of_uint16, write_array_of_uint32, write_array_of_uint64, write_array_of_uint8, write_array_of_ulong, write_bytes, write_char, write_double, write_float, write_int, write_long, write_long_long, write_pointer, write_short, write_string, write_string, write_uchar, write_uint, write_ulong_long, write_ushortMethods inherited from class org.jruby.ext.ffi.MemoryObject
getMemoryIO, setMemoryIOMethods inherited from class org.jruby.RubyObject
attachToObjectSpace, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, convertToType, dig, dig1, dig2, eqlInternal, equalInternal, finishObjectClass, getNativeClassIndex, inspect, op_eqq, puts, specificEval, toRubyString, toStringMethods inherited from class org.jruby.RubyBasicObject
addFinalizer, addFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkCallMethod, checkCallMethod, checkFrozen, checkStringType, cloneSetup, compareTo, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, dataGetStruct, dataGetStructChecked, dataWrapStruct, decode, display, dup, dupFinalizer, dupSetup, ensureInstanceVariablesSettable, eql, eql_p, eql_p, equal_p, evalUnder, extend, fastGetInstanceVariable, fastGetInternalVariable, fastHasInstanceVariable, fastHasInternalVariable, fastSetInstanceVariable, fastSetInternalVariable, finishBasicObjectClass, forEachInstanceVariable, forEachInstanceVariableName, freeze, frozen_p, getCurrentContext, getFFIHandle, getFlag, getInstanceEvalClass, getInstanceEvalClass, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariables, getJavaClass, getMarshalVariableList, getMetaClass, getMetaClass, getNativeHandle, getNativeTypeIndex, getObjectId, getRuntime, getSingletonClass, getSingletonClassClone, getSingletonClassCloneAndAttach, getSingletonClassCloneAndAttach, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hash, hashyInspect, hasInstanceVariable, hasInstanceVariables, hasInternalVariable, hasVariables, id, infectBy, initialize, initialize_copy, inspect, inspectHashCode, instance_eval, instance_eval, instance_eval, instance_eval, instance_eval, instance_exec, instance_of_p, instance_variable_defined_p, instance_variable_get, instance_variable_set, instance_variables, isBuiltin, isClass, isFalse, isFrozen, isImmediate, isModule, isNil, isSpecialConst, isSpecialObject, isTaint, isTrue, isUntrusted, kind_of_p, makeMetaClass, makeMetaClass, makeMetaClassBootstrap, method, method, method, method_missing, methods, methods, nil_p, nonFixnumHashCode, nonFixnumHashCode, OBJ_INIT_COPY, objInitCopy, op_cmp, op_match, op_not, op_not_equal, op_not_match, private_methods, protected_methods, public_methods, rbClone, rbClone, rbInspect, remove_instance_variable, removeFinalizers, removeInstanceVariable, removeInternalVariable, respond_to_p, respond_to_p, respondsTo, respondsToMissing, respondsToMissing, send, send, send, send, send, setFFIHandle, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, setNativeHandle, setTaint, setUntrusted, setVariable, singleton_method, singleton_method, singleton_method_added, singleton_method_removed, singleton_method_undefined, singleton_methods, singletonClass, specificEval, specificEval, specificEval, specificEval, syncVariables, syncVariables, taint, taint, tainted_p, testFrozen, testFrozen, to_a, to_a, to_s, to_s, toJava, trust, type, untaint, untrust, untrusted_p, validateInstanceVariable, validateInstanceVariable, validateInstanceVariable, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableRemove, variableTableStore, variableTableSync, yieldUnder, yieldUnderMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.jruby.runtime.builtin.IRubyObject
checkStringType19, dup, marshalLiveVariables
-
Field Details
-
IN
public static final int INIndicates that the Buffer is used for data copied IN to native memory- See Also:
-
OUT
public static final int OUTIndicates that the Buffer is used for data copied OUT from native memory- See Also:
-
-
Constructor Details
-
Buffer
-
Buffer
-
Buffer
-
-
Method Details
-
createBufferClass
public static RubyClass createBufferClass(ThreadContext context, RubyModule FFI, RubyClass AbstractMemory) -
initialize
-
initialize
public IRubyObject initialize(ThreadContext context, IRubyObject sizeArg, IRubyObject arg2, Block block) -
initialize
public IRubyObject initialize(ThreadContext context, IRubyObject sizeArg, IRubyObject countArg, IRubyObject clearArg, Block block) -
initialize_copy
Description copied from class:RubyBasicObjectInitializes this object as a copy of the original, that is the parameter to this object. Will make sure that the argument actually has the same real class as this object. It shouldn't be possible to initialize an object with something totally different.- Overrides:
initialize_copyin classRubyBasicObject- Parameters:
context- the thread contextother- the original- Returns:
- a copy unless the same thing
-
allocateInOut
-
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
-
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
-
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
Description copied from class:RubyBasicObjectReturns a string containing a human-readable representation of obj. If not overridden, uses theto_smethod to generate the string. [ 1, 2, 3..4, 'five' ].inspect #=> "[1, 2, 3..4, \"five\"]" Time.new.inspect #=> "Wed Apr 09 08:54:39 CDT 2003"- Specified by:
inspectin interfaceIRubyObject- Overrides:
inspectin classRubyBasicObject
-
order
- Specified by:
orderin classAbstractMemory
-
slice
- Specified by:
slicein classAbstractMemory
-
slice
- Specified by:
slicein classAbstractMemory
-
getPointer
- Specified by:
getPointerin classAbstractMemory
-
getInOutFlags
public int getInOutFlags()
-