public class org.eclipse.jgit.transport.Daemon
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jgit.transport.Daemon
super_class: java.lang.Object
{
public static final int DEFAULT_PORT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 9418
private static final int BACKLOG;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private java.net.InetSocketAddress myAddress;
descriptor: Ljava/net/InetSocketAddress;
flags: (0x0002) ACC_PRIVATE
private final org.eclipse.jgit.transport.DaemonService[] services;
descriptor: [Lorg/eclipse/jgit/transport/DaemonService;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.ThreadGroup processors;
descriptor: Ljava/lang/ThreadGroup;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.eclipse.jgit.transport.Daemon$Acceptor acceptThread;
descriptor: Lorg/eclipse/jgit/transport/Daemon$Acceptor;
flags: (0x0002) ACC_PRIVATE
private int timeout;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private org.eclipse.jgit.storage.pack.PackConfig packConfig;
descriptor: Lorg/eclipse/jgit/storage/pack/PackConfig;
flags: (0x0002) ACC_PRIVATE
private volatile org.eclipse.jgit.transport.resolver.RepositoryResolver<org.eclipse.jgit.transport.DaemonClient> repositoryResolver;
descriptor: Lorg/eclipse/jgit/transport/resolver/RepositoryResolver;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Lorg/eclipse/jgit/transport/resolver/RepositoryResolver<Lorg/eclipse/jgit/transport/DaemonClient;>;
volatile org.eclipse.jgit.transport.resolver.UploadPackFactory<org.eclipse.jgit.transport.DaemonClient> uploadPackFactory;
descriptor: Lorg/eclipse/jgit/transport/resolver/UploadPackFactory;
flags: (0x0040) ACC_VOLATILE
Signature: Lorg/eclipse/jgit/transport/resolver/UploadPackFactory<Lorg/eclipse/jgit/transport/DaemonClient;>;
volatile org.eclipse.jgit.transport.resolver.ReceivePackFactory<org.eclipse.jgit.transport.DaemonClient> receivePackFactory;
descriptor: Lorg/eclipse/jgit/transport/resolver/ReceivePackFactory;
flags: (0x0040) ACC_VOLATILE
Signature: Lorg/eclipse/jgit/transport/resolver/ReceivePackFactory<Lorg/eclipse/jgit/transport/DaemonClient;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokespecial org.eclipse.jgit.transport.Daemon.<init>:(Ljava/net/InetSocketAddress;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/transport/Daemon;
public void <init>(java.net.InetSocketAddress);
descriptor: (Ljava/net/InetSocketAddress;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.eclipse.jgit.transport.Daemon.myAddress:Ljava/net/InetSocketAddress;
2: aload 0
new java.lang.ThreadGroup
dup
ldc "Git-Daemon"
invokespecial java.lang.ThreadGroup.<init>:(Ljava/lang/String;)V
putfield org.eclipse.jgit.transport.Daemon.processors:Ljava/lang/ThreadGroup;
3: aload 0
getstatic org.eclipse.jgit.transport.resolver.RepositoryResolver.NONE:Lorg/eclipse/jgit/transport/resolver/RepositoryResolver;
putfield org.eclipse.jgit.transport.Daemon.repositoryResolver:Lorg/eclipse/jgit/transport/resolver/RepositoryResolver;
4: aload 0
aload 0
invokedynamic create(Lorg/eclipse/jgit/transport/Daemon;)Lorg/eclipse/jgit/transport/resolver/UploadPackFactory;
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;Lorg/eclipse/jgit/lib/Repository;)Lorg/eclipse/jgit/transport/UploadPack;
org/eclipse/jgit/transport/Daemon.lambda$0(Lorg/eclipse/jgit/transport/DaemonClient;Lorg/eclipse/jgit/lib/Repository;)Lorg/eclipse/jgit/transport/UploadPack; (7)
(Lorg/eclipse/jgit/transport/DaemonClient;Lorg/eclipse/jgit/lib/Repository;)Lorg/eclipse/jgit/transport/UploadPack;
putfield org.eclipse.jgit.transport.Daemon.uploadPackFactory:Lorg/eclipse/jgit/transport/resolver/UploadPackFactory;
5: aload 0
aload 0
invokedynamic create(Lorg/eclipse/jgit/transport/Daemon;)Lorg/eclipse/jgit/transport/resolver/ReceivePackFactory;
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;Lorg/eclipse/jgit/lib/Repository;)Lorg/eclipse/jgit/transport/ReceivePack;
org/eclipse/jgit/transport/Daemon.lambda$1(Lorg/eclipse/jgit/transport/DaemonClient;Lorg/eclipse/jgit/lib/Repository;)Lorg/eclipse/jgit/transport/ReceivePack; (7)
(Lorg/eclipse/jgit/transport/DaemonClient;Lorg/eclipse/jgit/lib/Repository;)Lorg/eclipse/jgit/transport/ReceivePack;
putfield org.eclipse.jgit.transport.Daemon.receivePackFactory:Lorg/eclipse/jgit/transport/resolver/ReceivePackFactory;
6: aload 0
iconst_2
anewarray org.eclipse.jgit.transport.DaemonService
dup
iconst_0
7: new org.eclipse.jgit.transport.Daemon$1
dup
aload 0
ldc "upload-pack"
ldc "uploadpack"
invokespecial org.eclipse.jgit.transport.Daemon$1.<init>:(Lorg/eclipse/jgit/transport/Daemon;Ljava/lang/String;Ljava/lang/String;)V
aastore
dup
iconst_1
8: new org.eclipse.jgit.transport.Daemon$2
dup
aload 0
ldc "receive-pack"
ldc "receivepack"
invokespecial org.eclipse.jgit.transport.Daemon$2.<init>:(Lorg/eclipse/jgit/transport/Daemon;Ljava/lang/String;Ljava/lang/String;)V
aastore
9: putfield org.eclipse.jgit.transport.Daemon.services:[Lorg/eclipse/jgit/transport/DaemonService;
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/eclipse/jgit/transport/Daemon;
0 11 1 addr Ljava/net/InetSocketAddress;
MethodParameters:
Name Flags
addr
public synchronized java.net.InetSocketAddress getAddress();
descriptor: ()Ljava/net/InetSocketAddress;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.transport.Daemon.myAddress:Ljava/net/InetSocketAddress;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/transport/Daemon;
public synchronized org.eclipse.jgit.transport.DaemonService getService(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/eclipse/jgit/transport/DaemonService;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
ldc "git-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 2
1: new java.lang.StringBuilder
dup
ldc "git-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.transport.Daemon.services:[Lorg/eclipse/jgit/transport/DaemonService;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 7
StackMap locals: org.eclipse.jgit.transport.Daemon java.lang.String top int int org.eclipse.jgit.transport.DaemonService[]
StackMap stack:
3: aload 5
iload 3
aaload
astore 2
start local 2 4: aload 2
invokevirtual org.eclipse.jgit.transport.DaemonService.getCommandName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
5: aload 2
areturn
end local 2 6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 4
if_icmplt 3
8: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/jgit/transport/Daemon;
0 9 1 name Ljava/lang/String;
4 6 2 s Lorg/eclipse/jgit/transport/DaemonService;
MethodParameters:
Name Flags
name
public int getTimeout();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.transport.Daemon.timeout:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/transport/Daemon;
public void setTimeout(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.eclipse.jgit.transport.Daemon.timeout:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/transport/Daemon;
0 2 1 seconds I
MethodParameters:
Name Flags
seconds
public org.eclipse.jgit.storage.pack.PackConfig getPackConfig();
descriptor: ()Lorg/eclipse/jgit/storage/pack/PackConfig;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.transport.Daemon.packConfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/transport/Daemon;
public void setPackConfig(org.eclipse.jgit.storage.pack.PackConfig);
descriptor: (Lorg/eclipse/jgit/storage/pack/PackConfig;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.eclipse.jgit.transport.Daemon.packConfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/transport/Daemon;
0 2 1 pc Lorg/eclipse/jgit/storage/pack/PackConfig;
MethodParameters:
Name Flags
pc
public void setRepositoryResolver(org.eclipse.jgit.transport.resolver.RepositoryResolver<org.eclipse.jgit.transport.DaemonClient>);
descriptor: (Lorg/eclipse/jgit/transport/resolver/RepositoryResolver;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.eclipse.jgit.transport.Daemon.repositoryResolver:Lorg/eclipse/jgit/transport/resolver/RepositoryResolver;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/transport/Daemon;
0 2 1 resolver Lorg/eclipse/jgit/transport/resolver/RepositoryResolver<Lorg/eclipse/jgit/transport/DaemonClient;>;
Signature: (Lorg/eclipse/jgit/transport/resolver/RepositoryResolver<Lorg/eclipse/jgit/transport/DaemonClient;>;)V
MethodParameters:
Name Flags
resolver
public void setUploadPackFactory(org.eclipse.jgit.transport.resolver.UploadPackFactory<org.eclipse.jgit.transport.DaemonClient>);
descriptor: (Lorg/eclipse/jgit/transport/resolver/UploadPackFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
1: aload 0
aload 1
putfield org.eclipse.jgit.transport.Daemon.uploadPackFactory:Lorg/eclipse/jgit/transport/resolver/UploadPackFactory;
goto 3
2: StackMap locals:
StackMap stack:
aload 0
getstatic org.eclipse.jgit.transport.resolver.UploadPackFactory.DISABLED:Lorg/eclipse/jgit/transport/resolver/UploadPackFactory;
putfield org.eclipse.jgit.transport.Daemon.uploadPackFactory:Lorg/eclipse/jgit/transport/resolver/UploadPackFactory;
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jgit/transport/Daemon;
0 4 1 factory Lorg/eclipse/jgit/transport/resolver/UploadPackFactory<Lorg/eclipse/jgit/transport/DaemonClient;>;
Signature: (Lorg/eclipse/jgit/transport/resolver/UploadPackFactory<Lorg/eclipse/jgit/transport/DaemonClient;>;)V
MethodParameters:
Name Flags
factory
public org.eclipse.jgit.transport.resolver.ReceivePackFactory<org.eclipse.jgit.transport.DaemonClient> getReceivePackFactory();
descriptor: ()Lorg/eclipse/jgit/transport/resolver/ReceivePackFactory;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.transport.Daemon.receivePackFactory:Lorg/eclipse/jgit/transport/resolver/ReceivePackFactory;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/transport/Daemon;
Signature: ()Lorg/eclipse/jgit/transport/resolver/ReceivePackFactory<Lorg/eclipse/jgit/transport/DaemonClient;>;
public void setReceivePackFactory(org.eclipse.jgit.transport.resolver.ReceivePackFactory<org.eclipse.jgit.transport.DaemonClient>);
descriptor: (Lorg/eclipse/jgit/transport/resolver/ReceivePackFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
1: aload 0
aload 1
putfield org.eclipse.jgit.transport.Daemon.receivePackFactory:Lorg/eclipse/jgit/transport/resolver/ReceivePackFactory;
goto 3
2: StackMap locals:
StackMap stack:
aload 0
getstatic org.eclipse.jgit.transport.resolver.ReceivePackFactory.DISABLED:Lorg/eclipse/jgit/transport/resolver/ReceivePackFactory;
putfield org.eclipse.jgit.transport.Daemon.receivePackFactory:Lorg/eclipse/jgit/transport/resolver/ReceivePackFactory;
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jgit/transport/Daemon;
0 4 1 factory Lorg/eclipse/jgit/transport/resolver/ReceivePackFactory<Lorg/eclipse/jgit/transport/DaemonClient;>;
Signature: (Lorg/eclipse/jgit/transport/resolver/ReceivePackFactory<Lorg/eclipse/jgit/transport/DaemonClient;>;)V
MethodParameters:
Name Flags
factory
public synchronized void start();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.transport.Daemon.acceptThread:Lorg/eclipse/jgit/transport/Daemon$Acceptor;
ifnull 2
1: new java.lang.IllegalStateException
dup
invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.daemonAlreadyRunning:Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new java.net.ServerSocket
dup
invokespecial java.net.ServerSocket.<init>:()V
astore 1
start local 1 3: aload 1
iconst_1
invokevirtual java.net.ServerSocket.setReuseAddress:(Z)V
4: aload 0
getfield org.eclipse.jgit.transport.Daemon.myAddress:Ljava/net/InetSocketAddress;
ifnull 7
5: aload 1
aload 0
getfield org.eclipse.jgit.transport.Daemon.myAddress:Ljava/net/InetSocketAddress;
iconst_5
invokevirtual java.net.ServerSocket.bind:(Ljava/net/SocketAddress;I)V
6: goto 8
7: StackMap locals: java.net.ServerSocket
StackMap stack:
aload 1
new java.net.InetSocketAddress
dup
aconst_null
iconst_0
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
iconst_5
invokevirtual java.net.ServerSocket.bind:(Ljava/net/SocketAddress;I)V
8: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.net.ServerSocket.getLocalSocketAddress:()Ljava/net/SocketAddress;
checkcast java.net.InetSocketAddress
putfield org.eclipse.jgit.transport.Daemon.myAddress:Ljava/net/InetSocketAddress;
9: aload 0
new org.eclipse.jgit.transport.Daemon$Acceptor
dup
aload 0
aload 0
getfield org.eclipse.jgit.transport.Daemon.processors:Ljava/lang/ThreadGroup;
ldc "Git-Daemon-Accept"
aload 1
invokespecial org.eclipse.jgit.transport.Daemon$Acceptor.<init>:(Lorg/eclipse/jgit/transport/Daemon;Ljava/lang/ThreadGroup;Ljava/lang/String;Ljava/net/ServerSocket;)V
putfield org.eclipse.jgit.transport.Daemon.acceptThread:Lorg/eclipse/jgit/transport/Daemon$Acceptor;
10: aload 0
getfield org.eclipse.jgit.transport.Daemon.acceptThread:Lorg/eclipse/jgit/transport/Daemon$Acceptor;
invokevirtual org.eclipse.jgit.transport.Daemon$Acceptor.start:()V
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/eclipse/jgit/transport/Daemon;
3 12 1 socket Ljava/net/ServerSocket;
Exceptions:
throws java.io.IOException
private synchronized void clearThread();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield org.eclipse.jgit.transport.Daemon.acceptThread:Lorg/eclipse/jgit/transport/Daemon$Acceptor;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/transport/Daemon;
public synchronized boolean isRunning();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.transport.Daemon.acceptThread:Lorg/eclipse/jgit/transport/Daemon$Acceptor;
ifnull 1
aload 0
getfield org.eclipse.jgit.transport.Daemon.acceptThread:Lorg/eclipse/jgit/transport/Daemon$Acceptor;
invokevirtual org.eclipse.jgit.transport.Daemon$Acceptor.isRunning:()Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/transport/Daemon;
public synchronized void stop();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.transport.Daemon.acceptThread:Lorg/eclipse/jgit/transport/Daemon$Acceptor;
ifnull 2
1: aload 0
getfield org.eclipse.jgit.transport.Daemon.acceptThread:Lorg/eclipse/jgit/transport/Daemon$Acceptor;
invokevirtual org.eclipse.jgit.transport.Daemon$Acceptor.shutDown:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jgit/transport/Daemon;
public void stopAndWait();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
dup
astore 2
monitorenter
2: aload 0
getfield org.eclipse.jgit.transport.Daemon.acceptThread:Lorg/eclipse/jgit/transport/Daemon$Acceptor;
astore 1
3: aload 0
invokevirtual org.eclipse.jgit.transport.Daemon.stop:()V
4: aload 2
monitorexit
5: goto 8
StackMap locals: org.eclipse.jgit.transport.Daemon java.lang.Thread org.eclipse.jgit.transport.Daemon
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
aload 1
ifnull 10
9: aload 1
invokevirtual java.lang.Thread.join:()V
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/eclipse/jgit/transport/Daemon;
1 11 1 acceptor Ljava/lang/Thread;
Exception table:
from to target type
2 5 6 any
6 7 6 any
Exceptions:
throws java.lang.InterruptedException
void startClient(java.net.Socket);
descriptor: (Ljava/net/Socket;)V
flags: (0x0000)
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: new org.eclipse.jgit.transport.DaemonClient
dup
aload 0
invokespecial org.eclipse.jgit.transport.DaemonClient.<init>:(Lorg/eclipse/jgit/transport/Daemon;)V
astore 2
start local 2 1: aload 1
invokevirtual java.net.Socket.getRemoteSocketAddress:()Ljava/net/SocketAddress;
astore 3
start local 3 2: aload 3
instanceof java.net.InetSocketAddress
ifeq 4
3: aload 2
aload 3
checkcast java.net.InetSocketAddress
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
invokevirtual org.eclipse.jgit.transport.DaemonClient.setRemoteAddress:(Ljava/net/InetAddress;)V
4: StackMap locals: org.eclipse.jgit.transport.DaemonClient java.net.SocketAddress
StackMap stack:
new org.eclipse.jgit.transport.Daemon$3
dup
aload 0
aload 0
getfield org.eclipse.jgit.transport.Daemon.processors:Ljava/lang/ThreadGroup;
new java.lang.StringBuilder
dup
ldc "Git-Daemon-Client "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
aload 2
invokespecial org.eclipse.jgit.transport.Daemon$3.<init>:(Lorg/eclipse/jgit/transport/Daemon;Ljava/lang/ThreadGroup;Ljava/lang/String;Ljava/net/Socket;Lorg/eclipse/jgit/transport/DaemonClient;)V
5: invokevirtual org.eclipse.jgit.transport.Daemon$3.start:()V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jgit/transport/Daemon;
0 7 1 s Ljava/net/Socket;
1 7 2 dc Lorg/eclipse/jgit/transport/DaemonClient;
2 7 3 peer Ljava/net/SocketAddress;
MethodParameters:
Name Flags
s
synchronized org.eclipse.jgit.transport.DaemonService matchService(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/eclipse/jgit/transport/DaemonService;
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jgit.transport.Daemon.services:[Lorg/eclipse/jgit/transport/DaemonService;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: org.eclipse.jgit.transport.Daemon java.lang.String top int int org.eclipse.jgit.transport.DaemonService[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2
start local 2 2: aload 2
aload 1
invokevirtual org.eclipse.jgit.transport.DaemonService.handles:(Ljava/lang/String;)Z
ifeq 4
3: aload 2
areturn
end local 2 4: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 1
6: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jgit/transport/Daemon;
0 7 1 cmd Ljava/lang/String;
2 4 2 d Lorg/eclipse/jgit/transport/DaemonService;
MethodParameters:
Name Flags
cmd
org.eclipse.jgit.lib.Repository openRepository(org.eclipse.jgit.transport.DaemonClient, java.lang.String);
descriptor: (Lorg/eclipse/jgit/transport/DaemonClient;Ljava/lang/String;)Lorg/eclipse/jgit/lib/Repository;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
bipush 92
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 2
1: aload 2
ldc "/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 3
2: aconst_null
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.transport.Daemon.repositoryResolver:Lorg/eclipse/jgit/transport/resolver/RepositoryResolver;
aload 1
aload 2
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokeinterface org.eclipse.jgit.transport.resolver.RepositoryResolver.open:(Ljava/lang/Object;Ljava/lang/String;)Lorg/eclipse/jgit/lib/Repository;
4: areturn
5: StackMap locals:
StackMap stack: org.eclipse.jgit.errors.RepositoryNotFoundException
pop
6: aconst_null
areturn
7: StackMap locals:
StackMap stack: org.eclipse.jgit.transport.resolver.ServiceNotAuthorizedException
pop
8: aconst_null
areturn
9: StackMap locals:
StackMap stack: org.eclipse.jgit.transport.resolver.ServiceNotEnabledException
pop
10: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/eclipse/jgit/transport/Daemon;
0 11 1 client Lorg/eclipse/jgit/transport/DaemonClient;
0 11 2 name Ljava/lang/String;
Exception table:
from to target type
3 4 5 Class org.eclipse.jgit.errors.RepositoryNotFoundException
3 4 7 Class org.eclipse.jgit.transport.resolver.ServiceNotAuthorizedException
3 4 9 Class org.eclipse.jgit.transport.resolver.ServiceNotEnabledException
Exceptions:
throws org.eclipse.jgit.transport.ServiceMayNotContinueException
MethodParameters:
Name Flags
client
name
private org.eclipse.jgit.transport.UploadPack lambda$0(org.eclipse.jgit.transport.DaemonClient, org.eclipse.jgit.lib.Repository);
descriptor: (Lorg/eclipse/jgit/transport/DaemonClient;Lorg/eclipse/jgit/lib/Repository;)Lorg/eclipse/jgit/transport/UploadPack;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new org.eclipse.jgit.transport.UploadPack
dup
aload 2
invokespecial org.eclipse.jgit.transport.UploadPack.<init>:(Lorg/eclipse/jgit/lib/Repository;)V
astore 3
start local 3 1: aload 3
aload 0
invokevirtual org.eclipse.jgit.transport.Daemon.getTimeout:()I
invokevirtual org.eclipse.jgit.transport.UploadPack.setTimeout:(I)V
2: aload 3
aload 0
invokevirtual org.eclipse.jgit.transport.Daemon.getPackConfig:()Lorg/eclipse/jgit/storage/pack/PackConfig;
invokevirtual org.eclipse.jgit.transport.UploadPack.setPackConfig:(Lorg/eclipse/jgit/storage/pack/PackConfig;)V
3: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jgit/transport/Daemon;
0 4 1 req Lorg/eclipse/jgit/transport/DaemonClient;
0 4 2 db Lorg/eclipse/jgit/lib/Repository;
1 4 3 up Lorg/eclipse/jgit/transport/UploadPack;
Exceptions:
throws org.eclipse.jgit.transport.resolver.ServiceNotEnabledException, org.eclipse.jgit.transport.resolver.ServiceNotAuthorizedException
private org.eclipse.jgit.transport.ReceivePack lambda$1(org.eclipse.jgit.transport.DaemonClient, org.eclipse.jgit.lib.Repository);
descriptor: (Lorg/eclipse/jgit/transport/DaemonClient;Lorg/eclipse/jgit/lib/Repository;)Lorg/eclipse/jgit/transport/ReceivePack;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: new org.eclipse.jgit.transport.ReceivePack
dup
aload 2
invokespecial org.eclipse.jgit.transport.ReceivePack.<init>:(Lorg/eclipse/jgit/lib/Repository;)V
astore 3
start local 3 1: aload 1
invokevirtual org.eclipse.jgit.transport.DaemonClient.getRemoteAddress:()Ljava/net/InetAddress;
astore 4
start local 4 2: aload 4
invokevirtual java.net.InetAddress.getCanonicalHostName:()Ljava/lang/String;
astore 5
start local 5 3: aload 5
ifnonnull 5
4: aload 4
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
astore 5
5: StackMap locals: org.eclipse.jgit.transport.ReceivePack java.net.InetAddress java.lang.String
StackMap stack:
ldc "anonymous"
astore 6
start local 6 6: new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "@"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 7: aload 3
new org.eclipse.jgit.lib.PersonIdent
dup
aload 6
aload 7
invokespecial org.eclipse.jgit.lib.PersonIdent.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokevirtual org.eclipse.jgit.transport.ReceivePack.setRefLogIdent:(Lorg/eclipse/jgit/lib/PersonIdent;)V
8: aload 3
aload 0
invokevirtual org.eclipse.jgit.transport.Daemon.getTimeout:()I
invokevirtual org.eclipse.jgit.transport.ReceivePack.setTimeout:(I)V
9: aload 3
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/eclipse/jgit/transport/Daemon;
0 10 1 req Lorg/eclipse/jgit/transport/DaemonClient;
0 10 2 db Lorg/eclipse/jgit/lib/Repository;
1 10 3 rp Lorg/eclipse/jgit/transport/ReceivePack;
2 10 4 peer Ljava/net/InetAddress;
3 10 5 host Ljava/lang/String;
6 10 6 name Ljava/lang/String;
7 10 7 email Ljava/lang/String;
Exceptions:
throws org.eclipse.jgit.transport.resolver.ServiceNotEnabledException, org.eclipse.jgit.transport.resolver.ServiceNotAuthorizedException
}
SourceFile: "Daemon.java"
NestMembers:
org.eclipse.jgit.transport.Daemon$1 org.eclipse.jgit.transport.Daemon$2 org.eclipse.jgit.transport.Daemon$3 org.eclipse.jgit.transport.Daemon$Acceptor
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
org.eclipse.jgit.transport.Daemon$1
org.eclipse.jgit.transport.Daemon$2
org.eclipse.jgit.transport.Daemon$3
private Acceptor = org.eclipse.jgit.transport.Daemon$Acceptor of org.eclipse.jgit.transport.Daemon