clojure.lang.Agent.class Maven / Gradle / Ivy
???? 2# ?
? D ? ? ? D ?
D ?
E ? ? ?
? D ? D ? D ? D ?
D ?
D ? D ?
? ? ?
D ? ?
? ?
? ?
?
? . ? . ? ?
? ?
? ?
?
D ?
? ?
? ? D ?
B ? ? ( ?
B ? ?
D ? . ? ? ( ?
? ? ( ? ? ? ?
? ? ? D ? ?
7 ? D ? D ?
? ?
? ? ?
D ?
? ? ?
? ? ?
B ? ? ? Action InnerClasses ActionQueue CONTINUE Lclojure/lang/Keyword; FAIL state Ljava/lang/Object; aq -Ljava/util/concurrent/atomic/AtomicReference; Signature OLjava/util/concurrent/atomic/AtomicReference; errorMode errorHandler Lclojure/lang/IFn; sendThreadPoolCounter (Ljava/util/concurrent/atomic/AtomicLong; sendOffThreadPoolCounter pooledExecutor &Ljava/util/concurrent/ExecutorService; soloExecutor nested Ljava/lang/ThreadLocal; 9Ljava/lang/ThreadLocal; createThreadFactory `(Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicLong;)Ljava/util/concurrent/ThreadFactory; Code LineNumberTable LocalVariableTable format Ljava/lang/String; threadPoolCounter shutdown ()V (Ljava/lang/Object;)V this Lclojure/lang/Agent; 2(Ljava/lang/Object;Lclojure/lang/IPersistentMap;)V meta Lclojure/lang/IPersistentMap; setState (Ljava/lang/Object;)Z newState ret Z
StackMapTable deref ()Ljava/lang/Object; getError ()Ljava/lang/Throwable; setErrorMode (Lclojure/lang/Keyword;)V k getErrorMode ()Lclojure/lang/Keyword; setErrorHandler (Lclojure/lang/IFn;)V f getErrorHandler ()Lclojure/lang/IFn; restart '(Ljava/lang/Object;Z)Ljava/lang/Object; restarted prior Lclojure/lang/Agent$ActionQueue; clearActions ? dispatch X(Lclojure/lang/IFn;Lclojure/lang/ISeq;Ljava/util/concurrent/Executor;)Ljava/lang/Object; fn args Lclojure/lang/ISeq; exec Ljava/util/concurrent/Executor; error Ljava/lang/Throwable; action Lclojure/lang/Agent$Action; ? dispatchAction (Lclojure/lang/Agent$Action;)V trans !Lclojure/lang/LockingTransaction; ? enqueue queued
getQueueCount ()I releasePendingSends a i I sends Lclojure/lang/IPersistentVector; ?
SourceFile
Agent.java clojure/lang/Agent$1 h ? Z Y ? f g X Y h l h ? +java/util/concurrent/atomic/AtomicReference ? ? h i N O I J R J S T o p ? i L M ? v clojure/lang/Agent$ActionQueue ? ? w x Agent does not need a restart ? ? ? ? i ? h ? v clojure/lang/Agent$Action g Agent is failed, needs restart ? h ? ? ?
? ? [ \ clojure/lang/IPersistentVector
k clojure/lang/IPersistentStack ? continue fail K J &java/util/concurrent/atomic/AtomicLong h U V W V ? clojure-agent-send-pool-%d ^ _ clojure-agent-send-off-pool-%d!" java/lang/ThreadLocal h g clojure/lang/Agent clojure/lang/ARef java/lang/Throwable clojure/lang/LockingTransaction =(Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicLong;)V $java/util/concurrent/ExecutorService (Lclojure/lang/IPersistentMap;)V EMPTY validate get clojure/lang/Util runtimeException 0(Ljava/lang/String;)Ljava/lang/RuntimeException; set q Lclojure/lang/IPersistentStack; 7(Lclojure/lang/IPersistentStack;Ljava/lang/Throwable;)V
compareAndSet '(Ljava/lang/Object;Ljava/lang/Object;)Z count peek execute E(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/RuntimeException; [(Lclojure/lang/Agent;Lclojure/lang/IFn;Lclojure/lang/ISeq;Ljava/util/concurrent/Executor;)V
getRunning #()Lclojure/lang/LockingTransaction; cons 4(Ljava/lang/Object;)Lclojure/lang/IPersistentVector; agent 8(Ljava/lang/Object;)Lclojure/lang/IPersistentCollection; java/lang/Integer valueOf (I)Ljava/lang/Integer; valAt &(Ljava/lang/Object;)Ljava/lang/Object; clojure/lang/PersistentVector Lclojure/lang/PersistentVector; clojure/lang/Keyword intern <(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Keyword; (J)V java/lang/Runtime
getRuntime ()Ljava/lang/Runtime; availableProcessors java/util/concurrent/Executors newFixedThreadPool M(ILjava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService; newCachedThreadPool L(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService; ! D E I J K J @ L M N O P Q @ R J @ S T U V W V I X Y I Z Y [ \ P ]
^ _ ` >
? Y*+? ? a ; b
c d
e V f g ` 1 ? ? ? ? ? a E F G h i ` ? *+? ? a
? ? b j k L M h l ` x &*,? *? Y? ?
? *? ?
*? *+? W? a ? ( * + ? % ? b &