target.classes.com.thinkaurelius.thrift.TDisruptorServer.class Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of thrift-server Show documentation
Show all versions of thrift-server Show documentation
Thrift Server implementation backed by LMAX Disruptor.
Shows better throughput/latency characteristics than build-in
THsHa and TThreadedSelector servers.
???? 3? Y ? Y ? Y ? Y ? Y ?
^ ?
? ?
? ?
j ?
? ?
j ?
j ?
j ? Y ? ? Y ? ? ?
? ?
?
? ? ?
?
?
j ? Y ? ? ? ?
j ? ? Y ? Y ? Y ?
j ?
? ? Y ?
Y
%
- Y
Y
0
6
9 ?
-
0
? ?
%
Y
Y
0 !"
H# ?$
H%
0&
%'
0'
Y()*
0+,
T ?
?-
0./0
123
[4567 RandomSelectorLoadBalancer InnerClasses8 SelectorLoadBalancer9 InvocationHandler SelectorThread AcceptorThread: AbstractSelectorThread; Args logger Lorg/slf4j/Logger; isJNAPresent Z
MBEAN_NAME Ljava/lang/String;
ConstantValue acceptorThreads ;[Lcom/thinkaurelius/thrift/TDisruptorServer$AcceptorThread; selectorThreads ;[Lcom/thinkaurelius/thrift/TDisruptorServer$SelectorThread; selectorLoadBalancer @Lcom/thinkaurelius/thrift/TDisruptorServer$SelectorLoadBalancer; thriftFactories /Lcom/thinkaurelius/thrift/util/ThriftFactories; useHeapBasedAllocation isStopped 3(Lcom/thinkaurelius/thrift/TDisruptorServer$Args;)V Code LineNumberTable LocalVariableTable i I e Ljava/io/IOException; Ljava/lang/Exception; this +Lcom/thinkaurelius/thrift/TDisruptorServer; args 0Lcom/thinkaurelius/thrift/TDisruptorServer$Args; numCores numAcceptors numSelectors numWorkersPerSelector ringSize mbs Ljavax/management/MBeanServer;
StackMapTable0;< startThreads ()Z waitForShutdown ()V joinSelector selector :Lcom/thinkaurelius/thrift/TDisruptorServer$SelectorThread; arr$ len$ i$ Ljava/lang/InterruptedException; v! gracefullyShutdownInvokerPool stop acceptor :Lcom/thinkaurelius/thrift/TDisruptorServer$AcceptorThread; t unregisterMBean nameObj Ljavax/management/ObjectName;
requestInvoke> FrameBuffer C(Lorg/apache/thrift/server/AbstractNonblockingServer$FrameBuffer;)Z frameBuffer @Lorg/apache/thrift/server/AbstractNonblockingServer$FrameBuffer; beforeInvoke %(Lcom/thinkaurelius/thrift/Message;)V beforeClose buffer "Lcom/thinkaurelius/thrift/Message; nextPowerOfTwo (I)I v getRingBufferSize ()I getNumberOfSelectors isHeapBasedAllocationUsed (Z)V flag
access$600 .(Lcom/thinkaurelius/thrift/TDisruptorServer;)Z x0
access$700 ()Lorg/slf4j/Logger;
access$602 /(Lcom/thinkaurelius/thrift/TDisruptorServer;Z)Z x1
access$800 m(Lcom/thinkaurelius/thrift/TDisruptorServer;)Lcom/thinkaurelius/thrift/TDisruptorServer$SelectorLoadBalancer;
access$900 \(Lcom/thinkaurelius/thrift/TDisruptorServer;)Lcom/thinkaurelius/thrift/util/ThriftFactories; access$1000 Ljava/lang/NoClassDefFoundError; jna5
SourceFile TDisruptorServer.java { o y z w x l m | o }ABCDE ?FGHI ?JGKGLGMNO 5com/thinkaurelius/thrift/util/TBinaryProtocol$Factory FactoryPN "java/lang/IllegalArgumentException java/lang/StringBuilder } ? Please use QRSTU ( or it's subclass as protocol factories.VU }WXY n o iOff-heap allocation couldn't be used as JNA is not present in classpath or broken, using on-heap instead.Z[W\] -com/thinkaurelius/thrift/util/ThriftFactories^_`_abcG }d 8com/thinkaurelius/thrift/TDisruptorServer$AcceptorThread s t Thrift-Acceptor_Qefg 7org/apache/thrift/transport/TNonblockingServerTransport }h java/io/IOException java/lang/RuntimeException !Could not create acceptor threads }i 8com/thinkaurelius/thrift/TDisruptorServer$SelectorThread u v Thrift-Selector_ ? ? }j !Could not create selector threads Dcom/thinkaurelius/thrift/TDisruptorServer$RandomSelectorLoadBalancer }klmn javax/management/ObjectName 5com.thinkaurelius.thrift.server:type=TDisruptorServer<op java/lang/Exception }qr ? %Thrift Selector thread {} is started.stuv %Thrift Acceptor thread {} is started. ? ? ? ?w ? java/lang/InterruptedException Interruption: xUyWz ?{ ?| ? ? ?}~ ? | ? 'java/lang/UnsupportedOperationException? ? ? ? DOff-Heap allocation method could not be used because JNA is missing. )com/thinkaurelius/thrift/TDisruptorServer??? com/sun/jna/Pointer }? java/lang/NoClassDefFoundError +org/apache/thrift/server/TNonblockingServer .com/thinkaurelius/thrift/TDisruptorServerMBean >com/thinkaurelius/thrift/TDisruptorServer$SelectorLoadBalancer ;com/thinkaurelius/thrift/TDisruptorServer$InvocationHandler @com/thinkaurelius/thrift/TDisruptorServer$AbstractSelectorThread .com/thinkaurelius/thrift/TDisruptorServer$Args javax/management/MBeanServer? >org/apache/thrift/server/AbstractNonblockingServer$FrameBuffer? AbstractNonblockingServerArgs U(Lorg/apache/thrift/server/AbstractNonblockingServer$AbstractNonblockingServerArgs;)V java/lang/Runtime
getRuntime ()Ljava/lang/Runtime; availableProcessors
access$000 E(Lcom/thinkaurelius/thrift/TDisruptorServer$Args;)Ljava/lang/Integer; java/lang/Integer intValue
access$100
access$200
access$300 inputProtocolFactory_ -Lorg/apache/thrift/protocol/TProtocolFactory; -com/thinkaurelius/thrift/util/TBinaryProtocol outputProtocolFactory_ append -(Ljava/lang/String;)Ljava/lang/StringBuilder; java/lang/Class getCanonicalName ()Ljava/lang/String; toString (Ljava/lang/String;)V
access$400 3(Lcom/thinkaurelius/thrift/TDisruptorServer$Args;)Z org/slf4j/Logger warn
access$402 4(Lcom/thinkaurelius/thrift/TDisruptorServer$Args;Z)Z inputTransportFactory_ /Lorg/apache/thrift/transport/TTransportFactory; outputTransportFactory_ processorFactory_ %Lorg/apache/thrift/TProcessorFactory;
access$500 ?(Lorg/apache/thrift/transport/TTransportFactory;Lorg/apache/thrift/transport/TTransportFactory;Lorg/apache/thrift/protocol/TProtocolFactory;Lorg/apache/thrift/protocol/TProtocolFactory;Lorg/apache/thrift/TProcessorFactory;I)V (I)Ljava/lang/StringBuilder; serverTransport_ .Lorg/apache/thrift/transport/TServerTransport; y(Lcom/thinkaurelius/thrift/TDisruptorServer;Ljava/lang/String;Lorg/apache/thrift/transport/TNonblockingServerTransport;)V *(Ljava/lang/String;Ljava/lang/Throwable;)V B(Lcom/thinkaurelius/thrift/TDisruptorServer;Ljava/lang/String;II)V >([Lcom/thinkaurelius/thrift/TDisruptorServer$SelectorThread;)V &java/lang/management/ManagementFactory getPlatformMBeanServer ()Ljavax/management/MBeanServer;
registerMBean R(Ljava/lang/Object;Ljavax/management/ObjectName;)Ljavax/management/ObjectInstance; (Ljava/lang/Throwable;)V start valueOf (I)Ljava/lang/Integer; debug '(Ljava/lang/String;Ljava/lang/Object;)V join
getMessage error printStackTrace shutdown wakeupSelector isRegistered (Ljavax/management/ObjectName;)Z (Ljavax/management/ObjectName;)V numberOfLeadingZeros org/slf4j/LoggerFactory getLogger %(Ljava/lang/Class;)Lorg/slf4j/Logger; (J)V 2org/apache/thrift/server/AbstractNonblockingServer Porg/apache/thrift/server/AbstractNonblockingServer$AbstractNonblockingServerArgs! Y ^ _ l m n o p q r : s t u v w x y z B { o B | o } ~ \ ?*+? ? ? =+? ? ?
+? ?
>+? ? ?
+? ?
6+? ? ?
+? ?
6+?
? ?
+?
?
6*? ? ?
*? ? ? (? Y? Y? ? ? ? ? ? ? ?+? ? ? ? ? ? +? W*+? ? *? Y*? *? !*? *? *? "+? #?
? $? *? %? &6? 3*? &? %Y*? Y? '? ? (? *? )? *? +S???ͧ :? -Y.? /?*? 0? 16? 3*? 1? 0Y*? Y? 2? ? (? ? 3? 4S???̧ :? -Y5? /?*? 6Y*? 1? 7? ? 8:*? 9Y:? ;? < W? :? -Y? >?? ?"% ,3vy ,??? = ? ? " ? ? ? ? 3 ? G ? ] ? q ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?" ?% ?' ?3 ?<