Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.jruby.ext.fiber;
  
  import java.util.Map;
  
  import org.jruby.Ruby;
 
 @JRubyClass(name = "Fiber")
 public abstract class Fiber extends RubyObject implements ExecutionContext {
     private final Map<ObjectIRubyObjectcontextVariables = new WeakHashMap<ObjectIRubyObject>();
     protected volatile Block block;
     protected volatile RubyThread parent;
     protected boolean root;
     protected volatile Fiber transferredFrom;
     protected volatile Fiber transferredTo;
 
     @JRubyMethod(visibility = .)
     public IRubyObject initialize(ThreadContext contextBlock block) {
         final Ruby runtime = context.runtime;
         if (! && (block == null || !block.isGiven())) {
             throw runtime.newArgumentError("tried to create Proc object without a block");
         }
         this. = block;
         this. = context.getThread();
         
         initFiber(context);
         
         return this;
     }
 
     public Fiber(Ruby runtimeRubyClass type) {
         super(runtimetype);
     }
     
     protected abstract void initFiber(ThreadContext context);
 
     protected abstract IRubyObject resumeOrTransfer(ThreadContext contextIRubyObject argboolean transfer);
 
     public abstract IRubyObject yield(ThreadContext contextIRubyObject res);
     
     public abstract boolean isAlive();
 
     public boolean isRoot() {
         return ;
     }
 
     public Fiber makeRootFiber() {
          = true;
         return this;
     }
 
     @JRubyMethod()
     public IRubyObject resume(ThreadContext context) {
         return resumeOrTransfer(contextcontext.nilfalse);
     }
 
     @JRubyMethod()
     public IRubyObject resume(ThreadContext contextIRubyObject arg) {
         return resumeOrTransfer(contextargfalse);
     }
 
     @JRubyMethod(rest = true)
     public IRubyObject resume(ThreadContext contextIRubyObject[] args) {
         return resumeOrTransfer(contextcontext.runtime.newArrayNoCopyLight(args), false);
     }
 
     // This should only be defined after require 'fiber'
     @JRubyMethod()
     public IRubyObject transfer(ThreadContext context) {
         return resumeOrTransfer(contextcontext.niltrue);
     }
 
     // This should only be defined after require 'fiber'
     @JRubyMethod()
     public IRubyObject transfer(ThreadContext contextIRubyObject arg) {
         return resumeOrTransfer(contextargtrue);
     }
 
     // This should only be defined after require 'fiber'
     @JRubyMethod(rest = true)
     public IRubyObject transfer(ThreadContext contextIRubyObject[] args) {
         return resumeOrTransfer(contextcontext.runtime.newArrayNoCopyLight(args), true);
     }
 
     public Map<ObjectIRubyObjectgetContextVariables() {
         return ;
     }

    

Returns:
the transferredFrom
    public Fiber getTransferredFrom() {
        return ;
    }

    

Parameters:
transferredFrom the transferredFrom to set
    public void setTransferredFrom(Fiber transferredFrom) {
        this. = transferredFrom;
    }

    

Returns:
the transferredTo
    public Fiber getTransferredTo() {
        return ;
    }

    

Parameters:
transferredTo the transferredTo to set
    public void setTransferredTo(Fiber transferredTo) {
        this. = transferredTo;
    }
    
New to GrepCode? Check out our FAQ X