
com.groupbyinc.flux.discovery.zen.ZenDiscovery$JoinThreadControl.class Maven / Gradle / Ivy
???? 3 ? @com/groupbyinc/flux/discovery/zen/ZenDiscovery$JoinThreadControl java/lang/Object ZenDiscovery.java .com/groupbyinc/flux/discovery/zen/ZenDiscovery JoinThreadControl Bcom/groupbyinc/flux/discovery/zen/ZenDiscovery$JoinThreadControl$1
threadPool +Lcom/groupbyinc/flux/threadpool/ThreadPool; running +Ljava/util/concurrent/atomic/AtomicBoolean; currentJoinThread -Ljava/util/concurrent/atomic/AtomicReference; ALjava/util/concurrent/atomic/AtomicReference; $assertionsDisabled Z this$0 0Lcom/groupbyinc/flux/discovery/zen/ZenDiscovery; ^(Lcom/groupbyinc/flux/discovery/zen/ZenDiscovery;Lcom/groupbyinc/flux/threadpool/ThreadPool;)V ()V
)java/util/concurrent/atomic/AtomicBoolean (Z)V
" +java/util/concurrent/atomic/AtomicReference $
% ' ) this BLcom/groupbyinc/flux/discovery/zen/ZenDiscovery$JoinThreadControl; joinThreadActive ()Z get ()Ljava/lang/Object; / 0
% 1 java/lang/Thread 3 / .
5 isAlive 7 .
4 8
currentThread Ljava/lang/Thread; (Ljava/lang/Thread;)Z equals (Ljava/lang/Object;)Z = >
?
joinThread stopRunningThreadAndRejoin h(Lcom/groupbyinc/flux/cluster/ClusterState;Ljava/lang/String;)Lcom/groupbyinc/flux/cluster/ClusterState; assertClusterStateThread D
E set (Ljava/lang/Object;)V G H
% I rejoin K C
L clusterState *Lcom/groupbyinc/flux/cluster/ClusterState; reason Ljava/lang/String; startNewThreadIfNotRunning - .
S )com/groupbyinc/flux/threadpool/ThreadPool U generic !()Ljava/util/concurrent/Executor; W X
V Y E(Lcom/groupbyinc/flux/discovery/zen/ZenDiscovery$JoinThreadControl;)V [
\ java/util/concurrent/Executor ^ execute (Ljava/lang/Runnable;)V ` a _ b markThreadAsDoneAndStartNew (Ljava/lang/Thread;)V markThreadAsDone f <
g R
i
compareAndSet '(Ljava/lang/Object;Ljava/lang/Object;)Z k l
% m stop G
p getAndSet &(Ljava/lang/Object;)Ljava/lang/Object; r s
% t interrupt v
4 w start z access$3100 ^(Lcom/groupbyinc/flux/discovery/zen/ZenDiscovery;)Lcom/groupbyinc/flux/cluster/ClusterService; | }
~ :com/groupbyinc/flux/cluster/service/InternalClusterService ? D .
? ? java/lang/AssertionError ?
? access$4600 q(Lcom/groupbyinc/flux/discovery/zen/ZenDiscovery$JoinThreadControl;)Ljava/util/concurrent/atomic/AtomicReference; x0 access$4700 o(Lcom/groupbyinc/flux/discovery/zen/ZenDiscovery$JoinThreadControl;)Ljava/util/concurrent/atomic/AtomicBoolean; java/lang/Class ? desiredAssertionStatus ? .
? ? Signature Code LocalVariableTable LineNumberTable
StackMapTable
SourceFile InnerClasses
?
? j &*+? *? *? Y? !? #*? %Y? &? (*,? *? ? &