public class com.datastax.oss.driver.internal.core.os.JnrLibc implements com.datastax.oss.driver.internal.core.os.Libc
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.datastax.oss.driver.internal.core.os.JnrLibc
super_class: java.lang.Object
{
private static final org.slf4j.Logger LOG;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.Optional<jnr.posix.POSIX> posix;
descriptor: Ljava/util/Optional;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Optional<Ljnr/posix/POSIX;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/datastax/oss/driver/internal/core/os/JnrLibc;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic com.datastax.oss.driver.internal.core.os.JnrLibc.LOG:Lorg/slf4j/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 0
invokevirtual com.datastax.oss.driver.internal.core.os.JnrLibc.loadPosix:()Ljava/util/Optional;
putfield com.datastax.oss.driver.internal.core.os.JnrLibc.posix:Ljava/util/Optional;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/datastax/oss/driver/internal/core/os/JnrLibc;
public java.util.Optional<java.lang.Long> gettimeofday();
descriptor: ()Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.datastax.oss.driver.internal.core.os.JnrLibc.posix:Ljava/util/Optional;
aload 0
invokedynamic apply(Lcom/datastax/oss/driver/internal/core/os/JnrLibc;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/datastax/oss/driver/internal/core/os/JnrLibc.gettimeofdayImpl(Ljnr/posix/POSIX;)Ljava/util/Optional; (7)
(Ljnr/posix/POSIX;)Ljava/util/Optional;
invokevirtual java.util.Optional.flatMap:(Ljava/util/function/Function;)Ljava/util/Optional;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/datastax/oss/driver/internal/core/os/JnrLibc;
Signature: ()Ljava/util/Optional<Ljava/lang/Long;>;
public java.util.Optional<java.lang.Integer> getpid();
descriptor: ()Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.datastax.oss.driver.internal.core.os.JnrLibc.posix:Ljava/util/Optional;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jnr/posix/POSIX.getpid()I (9 itf)
(Ljnr/posix/POSIX;)Ljava/lang/Integer;
invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/datastax/oss/driver/internal/core/os/JnrLibc;
Signature: ()Ljava/util/Optional<Ljava/lang/Integer;>;
public boolean available();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.datastax.oss.driver.internal.core.os.JnrLibc.posix:Ljava/util/Optional;
invokevirtual java.util.Optional.isPresent:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/datastax/oss/driver/internal/core/os/JnrLibc;
private java.util.Optional<jnr.posix.POSIX> loadPosix();
descriptor: ()Ljava/util/Optional;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: new jnr.posix.util.DefaultPOSIXHandler
dup
invokespecial jnr.posix.util.DefaultPOSIXHandler.<init>:()V
iconst_1
invokestatic jnr.posix.POSIXFactory.getPOSIX:(Ljnr/posix/POSIXHandler;Z)Ljnr/posix/POSIX;
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
1: aload 0
invokedynamic apply(Lcom/datastax/oss/driver/internal/core/os/JnrLibc;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/datastax/oss/driver/internal/core/os/JnrLibc.lambda$2(Ljnr/posix/POSIX;)Ljava/util/Optional; (7)
(Ljnr/posix/POSIX;)Ljava/util/Optional;
invokevirtual java.util.Optional.flatMap:(Ljava/util/function/Function;)Ljava/util/Optional;
2: aload 0
invokedynamic apply(Lcom/datastax/oss/driver/internal/core/os/JnrLibc;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/datastax/oss/driver/internal/core/os/JnrLibc.lambda$4(Ljnr/posix/POSIX;)Ljava/util/Optional; (7)
(Ljnr/posix/POSIX;)Ljava/util/Optional;
invokevirtual java.util.Optional.flatMap:(Ljava/util/function/Function;)Ljava/util/Optional;
3: areturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 5: getstatic com.datastax.oss.driver.internal.core.os.JnrLibc.LOG:Lorg/slf4j/Logger;
ldc "Error loading POSIX"
aload 1
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
6: invokestatic java.util.Optional.empty:()Ljava/util/Optional;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/datastax/oss/driver/internal/core/os/JnrLibc;
5 7 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 3 4 Class java.lang.Throwable
Signature: ()Ljava/util/Optional<Ljnr/posix/POSIX;>;
private java.util.Optional<jnr.posix.POSIX> catchAll(jnr.posix.POSIX, java.util.function.Consumer<jnr.posix.POSIX>, java.lang.String);
descriptor: (Ljnr/posix/POSIX;Ljava/util/function/Consumer;Ljava/lang/String;)Ljava/util/Optional;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 1
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
1: aload 1
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
2: areturn
3: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
start local 4 4: getstatic com.datastax.oss.driver.internal.core.os.JnrLibc.LOG:Lorg/slf4j/Logger;
aload 3
aload 4
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
5: invokestatic java.util.Optional.empty:()Ljava/util/Optional;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/datastax/oss/driver/internal/core/os/JnrLibc;
0 6 1 posix Ljnr/posix/POSIX;
0 6 2 fn Ljava/util/function/Consumer<Ljnr/posix/POSIX;>;
0 6 3 debugStr Ljava/lang/String;
4 6 4 t Ljava/lang/Throwable;
Exception table:
from to target type
0 2 3 Class java.lang.Throwable
Signature: (Ljnr/posix/POSIX;Ljava/util/function/Consumer<Ljnr/posix/POSIX;>;Ljava/lang/String;)Ljava/util/Optional<Ljnr/posix/POSIX;>;
MethodParameters:
Name Flags
posix
fn
debugStr
private java.util.Optional<java.lang.Long> gettimeofdayImpl(jnr.posix.POSIX);
descriptor: (Ljnr/posix/POSIX;)Ljava/util/Optional;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface jnr.posix.POSIX.allocateTimeval:()Ljnr/posix/Timeval;
astore 2
start local 2 1: aload 1
aload 2
invokeinterface jnr.posix.POSIX.gettimeofday:(Ljnr/posix/Timeval;)I
istore 3
start local 3 2: iload 3
ifeq 5
3: getstatic com.datastax.oss.driver.internal.core.os.JnrLibc.LOG:Lorg/slf4j/Logger;
new java.lang.StringBuilder
dup
ldc "Expected 0 return value from gettimeofday(), observed "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
4: invokestatic java.util.Optional.empty:()Ljava/util/Optional;
areturn
5: StackMap locals: jnr.posix.Timeval int
StackMap stack:
aload 2
invokevirtual jnr.posix.Timeval.sec:()J
ldc 1000000
lmul
aload 2
invokevirtual jnr.posix.Timeval.usec:()J
ladd
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/datastax/oss/driver/internal/core/os/JnrLibc;
0 6 1 posix Ljnr/posix/POSIX;
1 6 2 tv Ljnr/posix/Timeval;
2 6 3 rv I
Signature: (Ljnr/posix/POSIX;)Ljava/util/Optional<Ljava/lang/Long;>;
MethodParameters:
Name Flags
posix
private java.util.Optional lambda$2(jnr.posix.POSIX);
descriptor: (Ljnr/posix/POSIX;)Ljava/util/Optional;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
com/datastax/oss/driver/internal/core/os/JnrLibc.lambda$3(Ljnr/posix/POSIX;)V (6)
(Ljnr/posix/POSIX;)V
ldc "Error calling getpid()"
invokevirtual com.datastax.oss.driver.internal.core.os.JnrLibc.catchAll:(Ljnr/posix/POSIX;Ljava/util/function/Consumer;Ljava/lang/String;)Ljava/util/Optional;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/datastax/oss/driver/internal/core/os/JnrLibc;
0 1 1 p Ljnr/posix/POSIX;
private java.util.Optional lambda$4(jnr.posix.POSIX);
descriptor: (Ljnr/posix/POSIX;)Ljava/util/Optional;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
invokedynamic accept(Lcom/datastax/oss/driver/internal/core/os/JnrLibc;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
com/datastax/oss/driver/internal/core/os/JnrLibc.gettimeofdayImpl(Ljnr/posix/POSIX;)Ljava/util/Optional; (7)
(Ljnr/posix/POSIX;)V
ldc "Error calling gettimeofday()"
invokevirtual com.datastax.oss.driver.internal.core.os.JnrLibc.catchAll:(Ljnr/posix/POSIX;Ljava/util/function/Consumer;Ljava/lang/String;)Ljava/util/Optional;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/datastax/oss/driver/internal/core/os/JnrLibc;
0 1 1 p Ljnr/posix/POSIX;
private static void lambda$3(jnr.posix.POSIX);
descriptor: (Ljnr/posix/POSIX;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface jnr.posix.POSIX.getpid:()I
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 posix Ljnr/posix/POSIX;
}
SourceFile: "JnrLibc.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles