class com.jcraft.jsch.ChannelSftp$1 extends java.io.OutputStream
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.jcraft.jsch.ChannelSftp$1
super_class: java.io.OutputStream
{
private boolean init;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean isClosed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int[] ackid;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int startid;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int _ackid;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int ackcount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int writecount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private com.jcraft.jsch.ChannelSftp$Header ;
descriptor: Lcom/jcraft/jsch/ChannelSftp$Header;
flags: (0x0002) ACC_PRIVATE
byte[] _data;
descriptor: [B
flags: (0x0000)
final com.jcraft.jsch.ChannelSftp this$0;
descriptor: Lcom/jcraft/jsch/ChannelSftp;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final byte[] val$handle;
descriptor: [B
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final long[] val$_offset;
descriptor: [J
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final com.jcraft.jsch.SftpProgressMonitor val$monitor;
descriptor: Lcom/jcraft/jsch/SftpProgressMonitor;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(com.jcraft.jsch.ChannelSftp, byte[], long[], com.jcraft.jsch.SftpProgressMonitor);
descriptor: (Lcom/jcraft/jsch/ChannelSftp;[B[JLcom/jcraft/jsch/SftpProgressMonitor;)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=5
start local 0 0: aload 0
aload 1
putfield com.jcraft.jsch.ChannelSftp$1.this$0:Lcom/jcraft/jsch/ChannelSftp;
aload 0
aload 2
putfield com.jcraft.jsch.ChannelSftp$1.val$handle:[B
aload 0
aload 3
putfield com.jcraft.jsch.ChannelSftp$1.val$_offset:[J
aload 0
aload 4
putfield com.jcraft.jsch.ChannelSftp$1.val$monitor:Lcom/jcraft/jsch/SftpProgressMonitor;
aload 0
invokespecial java.io.OutputStream.<init>:()V
1: aload 0
iconst_1
putfield com.jcraft.jsch.ChannelSftp$1.init:Z
2: aload 0
iconst_0
putfield com.jcraft.jsch.ChannelSftp$1.isClosed:Z
3: aload 0
iconst_1
newarray 10
putfield com.jcraft.jsch.ChannelSftp$1.ackid:[I
4: aload 0
iconst_0
putfield com.jcraft.jsch.ChannelSftp$1.startid:I
5: aload 0
iconst_0
putfield com.jcraft.jsch.ChannelSftp$1._ackid:I
6: aload 0
iconst_0
putfield com.jcraft.jsch.ChannelSftp$1.ackcount:I
7: aload 0
iconst_0
putfield com.jcraft.jsch.ChannelSftp$1.writecount:I
8: aload 0
new com.jcraft.jsch.ChannelSftp$Header
dup
aload 1
invokespecial com.jcraft.jsch.ChannelSftp$Header.<init>:(Lcom/jcraft/jsch/ChannelSftp;)V
putfield com.jcraft.jsch.ChannelSftp$1.header:Lcom/jcraft/jsch/ChannelSftp$Header;
9: aload 0
iconst_1
newarray 8
putfield com.jcraft.jsch.ChannelSftp$1._data:[B
10: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/jcraft/jsch/ChannelSftp$1;
MethodParameters:
Name Flags
this$0 final
val$handle final
val$_offset final
val$monitor final
public void write(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual com.jcraft.jsch.ChannelSftp$1.write:([BII)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/jcraft/jsch/ChannelSftp$1;
0 2 1 d [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
d
public void write(byte[], int, int);
descriptor: ([BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.jcraft.jsch.ChannelSftp$1.init:Z
ifeq 4
1: aload 0
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.this$0:Lcom/jcraft/jsch/ChannelSftp;
getfield com.jcraft.jsch.ChannelSftp.seq:I
putfield com.jcraft.jsch.ChannelSftp$1.startid:I
2: aload 0
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.this$0:Lcom/jcraft/jsch/ChannelSftp;
getfield com.jcraft.jsch.ChannelSftp.seq:I
putfield com.jcraft.jsch.ChannelSftp$1._ackid:I
3: aload 0
iconst_0
putfield com.jcraft.jsch.ChannelSftp$1.init:Z
4: StackMap locals:
StackMap stack:
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.isClosed:Z
ifeq 6
5: new java.io.IOException
dup
ldc "stream already closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
iload 3
istore 4
start local 4 7: goto 22
8: StackMap locals: int
StackMap stack:
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.this$0:Lcom/jcraft/jsch/ChannelSftp;
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.val$handle:[B
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.val$_offset:[J
iconst_0
laload
aload 1
iload 2
iload 4
invokevirtual com.jcraft.jsch.ChannelSftp.sendWRITE:([BJ[BII)I
istore 5
start local 5 9: aload 0
dup
getfield com.jcraft.jsch.ChannelSftp$1.writecount:I
iconst_1
iadd
putfield com.jcraft.jsch.ChannelSftp$1.writecount:I
10: aload 0
getfield com.jcraft.jsch.ChannelSftp$1.val$_offset:[J
iconst_0
dup2
laload
iload 5
i2l
ladd
lastore
11: iload 2
iload 5
iadd
istore 2
12: iload 4
iload 5
isub
istore 4
13: aload 0
getfield com.jcraft.jsch.ChannelSftp$1.this$0:Lcom/jcraft/jsch/ChannelSftp;
getfield com.jcraft.jsch.ChannelSftp.seq:I
iconst_1
isub
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.startid:I
if_icmpeq 21
14: aload 0
getfield com.jcraft.jsch.ChannelSftp$1.this$0:Lcom/jcraft/jsch/ChannelSftp;
getfield com.jcraft.jsch.ChannelSftp.io_in:Ljava/io/InputStream;
invokevirtual java.io.InputStream.available:()I
sipush 1024
if_icmplt 22
15: goto 21
16: StackMap locals: int
StackMap stack:
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.this$0:Lcom/jcraft/jsch/ChannelSftp;
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.ackid:[I
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.header:Lcom/jcraft/jsch/ChannelSftp$Header;
invokevirtual com.jcraft.jsch.ChannelSftp.checkStatus:([ILcom/jcraft/jsch/ChannelSftp$Header;)Z
ifeq 22
17: aload 0
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.ackid:[I
iconst_0
iaload
putfield com.jcraft.jsch.ChannelSftp$1._ackid:I
18: aload 0
getfield com.jcraft.jsch.ChannelSftp$1.startid:I
aload 0
getfield com.jcraft.jsch.ChannelSftp$1._ackid:I
if_icmpgt 19
aload 0
getfield com.jcraft.jsch.ChannelSftp$1._ackid:I
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.this$0:Lcom/jcraft/jsch/ChannelSftp;
getfield com.jcraft.jsch.ChannelSftp.seq:I
iconst_1
isub
if_icmple 20
19: StackMap locals:
StackMap stack:
new com.jcraft.jsch.SftpException
dup
iconst_4
ldc ""
invokespecial com.jcraft.jsch.SftpException.<init>:(ILjava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.jcraft.jsch.ChannelSftp$1.ackcount:I
iconst_1
iadd
putfield com.jcraft.jsch.ChannelSftp$1.ackcount:I
21: StackMap locals:
StackMap stack:
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.this$0:Lcom/jcraft/jsch/ChannelSftp;
getfield com.jcraft.jsch.ChannelSftp.io_in:Ljava/io/InputStream;
invokevirtual java.io.InputStream.available:()I
ifgt 16
end local 5 22: StackMap locals:
StackMap stack:
iload 4
ifgt 8
23: aload 0
getfield com.jcraft.jsch.ChannelSftp$1.val$monitor:Lcom/jcraft/jsch/SftpProgressMonitor;
ifnull 30
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.val$monitor:Lcom/jcraft/jsch/SftpProgressMonitor;
iload 3
i2l
invokeinterface com.jcraft.jsch.SftpProgressMonitor.count:(J)Z
ifne 30
24: aload 0
invokevirtual com.jcraft.jsch.ChannelSftp$1.close:()V
25: new java.io.IOException
dup
ldc "canceled"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 4 26: StackMap locals: com.jcraft.jsch.ChannelSftp$1 byte[] int int
StackMap stack: java.io.IOException
astore 4
start local 4 27: aload 4
athrow
end local 4 28: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 29: new java.io.IOException
dup
aload 4
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 4 30: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/jcraft/jsch/ChannelSftp$1;
0 31 1 d [B
0 31 2 s I
0 31 3 len I
7 26 4 _len I
9 22 5 sent I
27 28 4 e Ljava/io/IOException;
29 30 4 e Ljava/lang/Exception;
Exception table:
from to target type
6 26 26 Class java.io.IOException
6 26 28 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
d
s
len
public void write(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.jcraft.jsch.ChannelSftp$1._data:[B
iconst_0
iload 1
i2b
bastore
1: aload 0
aload 0
getfield com.jcraft.jsch.ChannelSftp$1._data:[B
iconst_0
iconst_1
invokevirtual com.jcraft.jsch.ChannelSftp$1.write:([BII)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/jcraft/jsch/ChannelSftp$1;
0 3 1 foo I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
foo
public void flush();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.jcraft.jsch.ChannelSftp$1.isClosed:Z
ifeq 2
1: new java.io.IOException
dup
ldc "stream already closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.init:Z
ifne 11
3: goto 7
4: StackMap locals:
StackMap stack:
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.this$0:Lcom/jcraft/jsch/ChannelSftp;
aconst_null
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.header:Lcom/jcraft/jsch/ChannelSftp$Header;
invokevirtual com.jcraft.jsch.ChannelSftp.checkStatus:([ILcom/jcraft/jsch/ChannelSftp$Header;)Z
ifne 6
5: goto 11
6: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.jcraft.jsch.ChannelSftp$1.ackcount:I
iconst_1
iadd
putfield com.jcraft.jsch.ChannelSftp$1.ackcount:I
7: StackMap locals:
StackMap stack:
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.writecount:I
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.ackcount:I
if_icmpgt 4
8: goto 11
9: StackMap locals:
StackMap stack: com.jcraft.jsch.SftpException
astore 1
start local 1 10: new java.io.IOException
dup
aload 1
invokevirtual com.jcraft.jsch.SftpException.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 1 11: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/jcraft/jsch/ChannelSftp$1;
10 11 1 e Lcom/jcraft/jsch/SftpException;
Exception table:
from to target type
3 8 9 Class com.jcraft.jsch.SftpException
Exceptions:
throws java.io.IOException
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.jcraft.jsch.ChannelSftp$1.isClosed:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.jcraft.jsch.ChannelSftp$1.flush:()V
3: aload 0
getfield com.jcraft.jsch.ChannelSftp$1.val$monitor:Lcom/jcraft/jsch/SftpProgressMonitor;
ifnull 4
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.val$monitor:Lcom/jcraft/jsch/SftpProgressMonitor;
invokeinterface com.jcraft.jsch.SftpProgressMonitor.end:()V
4: StackMap locals:
StackMap stack:
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.this$0:Lcom/jcraft/jsch/ChannelSftp;
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.val$handle:[B
aload 0
getfield com.jcraft.jsch.ChannelSftp$1.header:Lcom/jcraft/jsch/ChannelSftp$Header;
invokevirtual com.jcraft.jsch.ChannelSftp._sendCLOSE:([BLcom/jcraft/jsch/ChannelSftp$Header;)Z
pop
5: goto 10
6: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 7: aload 1
athrow
end local 1 8: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 9: new java.io.IOException
dup
aload 1
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 1 10: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.jcraft.jsch.ChannelSftp$1.isClosed:Z
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/jcraft/jsch/ChannelSftp$1;
7 8 1 e Ljava/io/IOException;
9 10 1 e Ljava/lang/Exception;
Exception table:
from to target type
4 5 6 Class java.io.IOException
4 5 8 Class java.lang.Exception
Exceptions:
throws java.io.IOException
}
SourceFile: "ChannelSftp.java"
EnclosingMethod: com.jcraft.jsch.ChannelSftp.put:(Ljava/lang/String;Lcom/jcraft/jsch/SftpProgressMonitor;IJ)Ljava/io/OutputStream;
NestHost: com.jcraft.jsch.ChannelSftp
InnerClasses:
com.jcraft.jsch.ChannelSftp$1
Header = com.jcraft.jsch.ChannelSftp$Header of com.jcraft.jsch.ChannelSftp