org.jruby.ext.fiber
Class Fiber

java.lang.Object
  extended by org.jruby.RubyBasicObject
      extended by org.jruby.RubyObject
          extended by org.jruby.ext.fiber.Fiber
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<IRubyObject>, InstanceVariables, InternalVariables, IRubyObject, ExecutionContext, CoreObjectType
Direct Known Subclasses:
CoroutineFiber, ThreadFiber

public abstract class Fiber
extends RubyObject
implements ExecutionContext

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
protected  Block block
           
protected  RubyThread parent
           
protected  boolean root
           
protected  Fiber transferredFrom
           
protected  Fiber transferredTo
           
 
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
Fiber(Ruby runtime, RubyClass type)
           
 
Method Summary
 java.util.Map<java.lang.Object,IRubyObject> getContextVariables()
           
 Fiber getTransferredFrom()
           
 Fiber getTransferredTo()
           
protected abstract  void initFiber(ThreadContext context)
           
 IRubyObject initialize(ThreadContext context, Block block)
           
abstract  boolean isAlive()
           
 boolean isRoot()
           
 Fiber makeRootFiber()
           
 IRubyObject resume(ThreadContext context)
           
 IRubyObject resume(ThreadContext context, IRubyObject arg)
           
 IRubyObject resume(ThreadContext context, IRubyObject[] args)
           
protected abstract  IRubyObject resumeOrTransfer(ThreadContext context, IRubyObject arg, boolean transfer)
           
 void setTransferredFrom(Fiber transferredFrom)
           
 void setTransferredTo(Fiber transferredTo)
           
 IRubyObject transfer(ThreadContext context)
           
 IRubyObject transfer(ThreadContext context, IRubyObject arg)
           
 IRubyObject transfer(ThreadContext context, IRubyObject[] args)
           
abstract  IRubyObject yield(ThreadContext context, IRubyObject res)
           
 
Methods inherited from class org.jruby.RubyObject
attachToObjectSpace, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, eqlInternal, equalInternal, equals, getNativeTypeIndex, hashCode, initialize, 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, eql, 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, getVariableTableForRead, getVariableTableForWrite, 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_equal, 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

block

protected volatile Block block

parent

protected volatile RubyThread parent

root

protected boolean root

transferredFrom

protected volatile Fiber transferredFrom

transferredTo

protected volatile Fiber transferredTo
Constructor Detail

Fiber

public Fiber(Ruby runtime,
             RubyClass type)
Method Detail

initialize

public IRubyObject initialize(ThreadContext context,
                              Block block)

initFiber

protected abstract void initFiber(ThreadContext context)

resumeOrTransfer

protected abstract IRubyObject resumeOrTransfer(ThreadContext context,
                                                IRubyObject arg,
                                                boolean transfer)

yield

public abstract IRubyObject yield(ThreadContext context,
                                  IRubyObject res)

isAlive

public abstract boolean isAlive()

isRoot

public boolean isRoot()

makeRootFiber

public Fiber makeRootFiber()

resume

public IRubyObject resume(ThreadContext context)

resume

public IRubyObject resume(ThreadContext context,
                          IRubyObject arg)

resume

public IRubyObject resume(ThreadContext context,
                          IRubyObject[] args)

transfer

public IRubyObject transfer(ThreadContext context)

transfer

public IRubyObject transfer(ThreadContext context,
                            IRubyObject arg)

transfer

public IRubyObject transfer(ThreadContext context,
                            IRubyObject[] args)

getContextVariables

public java.util.Map<java.lang.Object,IRubyObject> getContextVariables()
Specified by:
getContextVariables in interface ExecutionContext

getTransferredFrom

public Fiber getTransferredFrom()
Returns:
the transferredFrom

setTransferredFrom

public void setTransferredFrom(Fiber transferredFrom)
Parameters:
transferredFrom - the transferredFrom to set

getTransferredTo

public Fiber getTransferredTo()
Returns:
the transferredTo

setTransferredTo

public void setTransferredTo(Fiber transferredTo)
Parameters:
transferredTo - the transferredTo to set


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