Top Inners Fields Constructors Methods
org.jruby.util

public final Class Join

extends Object
Class Inheritance
Imports
java.util.ArrayList, .LinkedList, java.util.concurrent.Executor

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
public abstract static class
private abstract static class
public abstract static class
public abstract static class
public static class
private static class
public abstract static class

Field Summary

Modifier and TypeField and Description
private final long
private final Executor
private long
private final Join.Reaction[][]
public static final Executor
private final LinkedList<E>[]

Constructor Summary

AccessConstructor and Description
private
Join(final long asyncMask, final Join.Reaction[][] reactionsPerChannel, Executor executor)

Method Summary

Modifier and TypeMethod and Description
public Object
call(int channel, Object message)

public Object
call(Enum<?> channel, Object message)

public boolean
isAsync(int channel)

public void
send(int channel, Object message)

public void
send(Enum<?> channel, Object message)

private void
sendRaw(int index, Object message)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

asyncMaskback to summary
private final long asyncMask
executorback to summary
private final Executor executor
maskback to summary
private long mask
reactionsPerChannelback to summary
private final Join.Reaction[][] reactionsPerChannel
TRIVIAL_EXECUTORback to summary
public static final Executor TRIVIAL_EXECUTOR
writesback to summary
private final LinkedList<E>[] writes

Constructor Detail

Joinback to summary
private Join(final long asyncMask, final Join.Reaction[][] reactionsPerChannel, Executor executor)

Method Detail

callback to summary
public Object call(int channel, Object message)
callback to summary
public Object call(Enum<?> channel, Object message)
isAsyncback to summary
public boolean isAsync(int channel)
sendback to summary
public void send(int channel, Object message)
sendback to summary
public void send(Enum<?> channel, Object message)
sendRawback to summary
private void sendRaw(int index, Object message)
org.jruby.util back to summary

private Class Join.AsyncCall

extends Call
Class Inheritance

Constructor Summary

AccessConstructor and Description
public
AsyncCall(Object message)

Method Summary

Modifier and TypeMethod and Description
public void
activate(final Join join, final Join.SyncReaction reaction, final Object[] args)

Implements abstract org.jruby.util.Join.Call.activate.

Inherited from org.jruby.util.Join.Call:
getMessage

Constructor Detail

AsyncCallback to summary
public AsyncCall(Object message)

Method Detail

activateback to summary
public void activate(final Join join, final Join.SyncReaction reaction, final Object[] args)

Implements abstract org.jruby.util.Join.Call.activate.

org.jruby.util back to summary

public abstract Class Join.AsyncReaction

extends Reaction
Class Inheritance

Constructor Summary

AccessConstructor and Description
public
AsyncReaction(int[] indices)

public
AsyncReaction(Enum<?> head, Enum<?>... channels)

Method Summary

Modifier and TypeMethod and Description
pack-priv void
dispatch(final Join join, final Object[] args)

Implements abstract org.jruby.util.Join.Reaction.dispatch.

public abstract void
react(Join join, Object[] args)

Constructor Detail

AsyncReactionback to summary
public AsyncReaction(int[] indices)
AsyncReactionback to summary
public AsyncReaction(Enum<?> head, Enum<?>... channels)

Method Detail

dispatchback to summary
pack-priv void dispatch(final Join join, final Object[] args)

Implements abstract org.jruby.util.Join.Reaction.dispatch.

Annotations
@Override
reactback to summary
public abstract void react(Join join, Object[] args)
org.jruby.util back to summary

private abstract Class Join.Call

extends Object
Class Inheritance
Known Direct Subclasses
org.jruby.util.Join.AsyncCall, org.jruby.util.Join.SyncCall

Field Summary

Modifier and TypeField and Description
private final Object

Constructor Summary

AccessConstructor and Description
public
Call(Object message)

Method Summary

Modifier and TypeMethod and Description
public abstract void
activate(Join join, Join.SyncReaction reaction, Object[] args)

public Object
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

messageback to summary
private final Object message

Constructor Detail

Callback to summary
public Call(Object message)

Method Detail

activateback to summary
public abstract void activate(Join join, Join.SyncReaction reaction, Object[] args)
getMessageback to summary
public Object getMessage()
org.jruby.util back to summary

public abstract Class Join.FastReaction

extends Reaction
Class Inheritance

Constructor Summary

AccessConstructor and Description
public
FastReaction(int[] indices)

public
FastReaction(Enum<?> head, Enum<?>... channels)

Method Summary

Modifier and TypeMethod and Description
pack-priv void
dispatch(final Join join, final Object[] args)

Implements abstract org.jruby.util.Join.Reaction.dispatch.

public abstract void
react(Join join, Object[] args)

Constructor Detail

FastReactionback to summary
public FastReaction(int[] indices)
FastReactionback to summary
public FastReaction(Enum<?> head, Enum<?>... channels)

Method Detail

dispatchback to summary
pack-priv void dispatch(final Join join, final Object[] args)

Implements abstract org.jruby.util.Join.Reaction.dispatch.

Annotations
@Override
reactback to summary
public abstract void react(Join join, Object[] args)
org.jruby.util back to summary

public abstract Class Join.Reaction

extends Object
Class Inheritance
Known Direct Subclasses
org.jruby.util.Join.FastReaction, org.jruby.util.Join.AsyncReaction, org.jruby.util.Join.SyncReaction

Field Summary

Modifier and TypeField and Description
private final long
private final int[]
private final long

Constructor Summary

AccessConstructor and Description
pack-priv
Reaction(Enum<?> head, Enum<?>[] channels, boolean isAsync)

pack-priv
Reaction(int[] indices, boolean isAsync)

Method Summary

Modifier and TypeMethod and Description
pack-priv abstract void
dispatch(Join join, Object[] args)

private static int[]
toIndices(Enum<?> head, Enum<?>[] channels)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

asyncMaskback to summary
private final long asyncMask
indicesback to summary
private final int[] indices
maskback to summary
private final long mask

Constructor Detail

Reactionback to summary
pack-priv Reaction(Enum<?> head, Enum<?>[] channels, boolean isAsync)
Reactionback to summary
pack-priv Reaction(int[] indices, boolean isAsync)

Method Detail

dispatchback to summary
pack-priv abstract void dispatch(Join join, Object[] args)
toIndicesback to summary
private static int[] toIndices(Enum<?> head, Enum<?>[] channels)
org.jruby.util back to summary

public Class Join.Spec

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
private long
private volatile Join.Reaction[][]
private static final Join.Reaction[]
private long
private final ArrayList<ArrayList<Join.Reaction>>

Constructor Summary

AccessConstructor and Description
public
Spec()

Method Summary

Modifier and TypeMethod and Description
public void
public Join
public Join
createJoin(final Executor executor)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

asyncMaskback to summary
private long asyncMask
cachedReactionsPerChannelback to summary
private volatile Join.Reaction[][] cachedReactionsPerChannel
EMPTY_REACTIONSback to summary
private static final Join.Reaction[] EMPTY_REACTIONS
maskback to summary
private long mask
reactionsPerChannelback to summary
private final ArrayList<ArrayList<Join.Reaction>> reactionsPerChannel

Constructor Detail

Specback to summary
public Spec()

Method Detail

addReactionback to summary
public void addReaction(Join.Reaction reaction)
createJoinback to summary
public Join createJoin()
createJoinback to summary
public Join createJoin(final Executor executor)
org.jruby.util back to summary

private Class Join.SyncCall

extends Call
Class Inheritance

Field Summary

Modifier and TypeField and Description
private Object[]
private Join
private Join.SyncReaction

Constructor Summary

AccessConstructor and Description
public
SyncCall(Object message)

Method Summary

Modifier and TypeMethod and Description
public synchronized void
activate(Join join, Join.SyncReaction reaction, Object[] args)

Implements abstract org.jruby.util.Join.Call.activate.

public synchronized Object
call()

Inherited from org.jruby.util.Join.Call:
getMessage

Field Detail

argsback to summary
private Object[] args
joinback to summary
private Join join
reactionback to summary
private Join.SyncReaction reaction

Constructor Detail

SyncCallback to summary
public SyncCall(Object message)

Method Detail

activateback to summary
public synchronized void activate(Join join, Join.SyncReaction reaction, Object[] args)

Implements abstract org.jruby.util.Join.Call.activate.

callback to summary
public synchronized Object call()
org.jruby.util back to summary

public abstract Class Join.SyncReaction

extends Reaction
Class Inheritance

Constructor Summary

AccessConstructor and Description
public
SyncReaction(int[] indices)

public
SyncReaction(Enum<?> head, Enum<?>... channels)

Method Summary

Modifier and TypeMethod and Description
pack-priv void
dispatch(Join join, final Object[] args)

Implements abstract org.jruby.util.Join.Reaction.dispatch.

public abstract Object
react(Join join, Object[] args)

Constructor Detail

SyncReactionback to summary
public SyncReaction(int[] indices)
SyncReactionback to summary
public SyncReaction(Enum<?> head, Enum<?>... channels)

Method Detail

dispatchback to summary
pack-priv void dispatch(Join join, final Object[] args)

Implements abstract org.jruby.util.Join.Reaction.dispatch.

Annotations
@Override
reactback to summary
public abstract Object react(Join join, Object[] args)