This commit is contained in:
2022-06-10 21:38:30 +09:00
commit 27f5152838
51323 changed files with 12934539 additions and 0 deletions
@@ -0,0 +1,752 @@
.class public abstract Lorg/apache/http/impl/conn/AbstractClientConnAdapter;
.super Ljava/lang/Object;
.source "AbstractClientConnAdapter.java"
# interfaces
.implements Lorg/apache/http/conn/ManagedClientConnection;
# instance fields
.field private volatile connManager:Lorg/apache/http/conn/ClientConnectionManager;
.field private volatile duration:J
.field private volatile markedReusable:Z
.field private volatile released:Z
.field private volatile wrappedConnection:Lorg/apache/http/conn/OperatedClientConnection;
# direct methods
.method public constructor <init>(Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/conn/OperatedClientConnection;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->connManager:Lorg/apache/http/conn/ClientConnectionManager;
.line 3
iput-object p2, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->wrappedConnection:Lorg/apache/http/conn/OperatedClientConnection;
const/4 p1, 0x0
.line 4
iput-boolean p1, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->markedReusable:Z
.line 5
iput-boolean p1, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->released:Z
const-wide p1, 0x7fffffffffffffffL
.line 6
iput-wide p1, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->duration:J
return-void
.end method
# virtual methods
.method public declared-synchronized abortConnection()V
.locals 4
monitor-enter p0
.line 1
:try_start_0
iget-boolean v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->released:Z
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz v0, :cond_0
.line 2
monitor-exit p0
return-void
:cond_0
const/4 v0, 0x1
.line 3
:try_start_1
iput-boolean v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->released:Z
.line 4
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->unmarkReusable()V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 5
:try_start_2
invoke-interface {p0}, Lorg/apache/http/HttpConnection;->shutdown()V
:try_end_2
.catch Ljava/io/IOException; {:try_start_2 .. :try_end_2} :catch_0
.catchall {:try_start_2 .. :try_end_2} :catchall_0
.line 6
:catch_0
:try_start_3
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->connManager:Lorg/apache/http/conn/ClientConnectionManager;
if-eqz v0, :cond_1
.line 7
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->connManager:Lorg/apache/http/conn/ClientConnectionManager;
iget-wide v1, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->duration:J
sget-object v3, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-interface {v0, p0, v1, v2, v3}, Lorg/apache/http/conn/ClientConnectionManager;->releaseConnection(Lorg/apache/http/conn/ManagedClientConnection;JLjava/util/concurrent/TimeUnit;)V
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_0
.line 8
:cond_1
monitor-exit p0
return-void
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method public final assertNotAborted()V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/InterruptedIOException;
}
.end annotation
.line 1
iget-boolean v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->released:Z
if-nez v0, :cond_0
return-void
.line 2
:cond_0
new-instance v0, Ljava/io/InterruptedIOException;
const-string v1, "Connection has been shut down"
invoke-direct {v0, v1}, Ljava/io/InterruptedIOException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public final assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/IllegalStateException;
}
.end annotation
if-eqz p1, :cond_0
return-void
.line 1
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "No wrapped connection"
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public declared-synchronized detach()V
.locals 2
monitor-enter p0
const/4 v0, 0x0
.line 1
:try_start_0
iput-object v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->wrappedConnection:Lorg/apache/http/conn/OperatedClientConnection;
.line 2
iput-object v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->connManager:Lorg/apache/http/conn/ClientConnectionManager;
const-wide v0, 0x7fffffffffffffffL
.line 3
iput-wide v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->duration:J
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 4
monitor-exit p0
return-void
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method public flush()V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertNotAborted()V
.line 2
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object v0
.line 3
invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V
.line 4
invoke-interface {v0}, Lorg/apache/http/HttpClientConnection;->flush()V
return-void
.end method
.method public getLocalAddress()Ljava/net/InetAddress;
.locals 1
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object v0
.line 2
invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V
.line 3
invoke-interface {v0}, Lorg/apache/http/HttpInetConnection;->getLocalAddress()Ljava/net/InetAddress;
move-result-object v0
return-object v0
.end method
.method public getLocalPort()I
.locals 1
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object v0
.line 2
invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V
.line 3
invoke-interface {v0}, Lorg/apache/http/HttpInetConnection;->getLocalPort()I
move-result v0
return v0
.end method
.method public getManager()Lorg/apache/http/conn/ClientConnectionManager;
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->connManager:Lorg/apache/http/conn/ClientConnectionManager;
return-object v0
.end method
.method public getMetrics()Lorg/apache/http/HttpConnectionMetrics;
.locals 1
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object v0
.line 2
invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V
.line 3
invoke-interface {v0}, Lorg/apache/http/HttpConnection;->getMetrics()Lorg/apache/http/HttpConnectionMetrics;
move-result-object v0
return-object v0
.end method
.method public getRemoteAddress()Ljava/net/InetAddress;
.locals 1
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object v0
.line 2
invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V
.line 3
invoke-interface {v0}, Lorg/apache/http/HttpInetConnection;->getRemoteAddress()Ljava/net/InetAddress;
move-result-object v0
return-object v0
.end method
.method public getRemotePort()I
.locals 1
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object v0
.line 2
invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V
.line 3
invoke-interface {v0}, Lorg/apache/http/HttpInetConnection;->getRemotePort()I
move-result v0
return v0
.end method
.method public getSSLSession()Ljavax/net/ssl/SSLSession;
.locals 3
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object v0
.line 2
invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V
.line 3
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->isOpen()Z
move-result v1
const/4 v2, 0x0
if-nez v1, :cond_0
return-object v2
.line 4
:cond_0
invoke-interface {v0}, Lorg/apache/http/conn/OperatedClientConnection;->getSocket()Ljava/net/Socket;
move-result-object v0
.line 5
instance-of v1, v0, Ljavax/net/ssl/SSLSocket;
if-eqz v1, :cond_1
.line 6
check-cast v0, Ljavax/net/ssl/SSLSocket;
invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;->getSession()Ljavax/net/ssl/SSLSession;
move-result-object v2
:cond_1
return-object v2
.end method
.method public getSocketTimeout()I
.locals 1
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object v0
.line 2
invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V
.line 3
invoke-interface {v0}, Lorg/apache/http/HttpConnection;->getSocketTimeout()I
move-result v0
return v0
.end method
.method public getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->wrappedConnection:Lorg/apache/http/conn/OperatedClientConnection;
return-object v0
.end method
.method public isMarkedReusable()Z
.locals 1
.line 1
iget-boolean v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->markedReusable:Z
return v0
.end method
.method public isOpen()Z
.locals 1
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object v0
if-nez v0, :cond_0
const/4 v0, 0x0
return v0
.line 2
:cond_0
invoke-interface {v0}, Lorg/apache/http/HttpConnection;->isOpen()Z
move-result v0
return v0
.end method
.method public isResponseAvailable(I)Z
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertNotAborted()V
.line 2
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object v0
.line 3
invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V
.line 4
invoke-interface {v0, p1}, Lorg/apache/http/HttpClientConnection;->isResponseAvailable(I)Z
move-result p1
return p1
.end method
.method public isSecure()Z
.locals 1
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object v0
.line 2
invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V
.line 3
invoke-interface {v0}, Lorg/apache/http/conn/OperatedClientConnection;->isSecure()Z
move-result v0
return v0
.end method
.method public isStale()Z
.locals 2
.line 1
iget-boolean v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->released:Z
const/4 v1, 0x1
if-eqz v0, :cond_0
return v1
.line 2
:cond_0
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object v0
if-nez v0, :cond_1
return v1
.line 3
:cond_1
invoke-interface {v0}, Lorg/apache/http/HttpConnection;->isStale()Z
move-result v0
return v0
.end method
.method public markReusable()V
.locals 1
const/4 v0, 0x1
.line 1
iput-boolean v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->markedReusable:Z
return-void
.end method
.method public receiveResponseEntity(Lorg/apache/http/HttpResponse;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/apache/http/HttpException;,
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertNotAborted()V
.line 2
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object v0
.line 3
invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V
.line 4
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->unmarkReusable()V
.line 5
invoke-interface {v0, p1}, Lorg/apache/http/HttpClientConnection;->receiveResponseEntity(Lorg/apache/http/HttpResponse;)V
return-void
.end method
.method public receiveResponseHeader()Lorg/apache/http/HttpResponse;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/apache/http/HttpException;,
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertNotAborted()V
.line 2
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object v0
.line 3
invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V
.line 4
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->unmarkReusable()V
.line 5
invoke-interface {v0}, Lorg/apache/http/HttpClientConnection;->receiveResponseHeader()Lorg/apache/http/HttpResponse;
move-result-object v0
return-object v0
.end method
.method public declared-synchronized releaseConnection()V
.locals 4
monitor-enter p0
.line 1
:try_start_0
iget-boolean v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->released:Z
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz v0, :cond_0
.line 2
monitor-exit p0
return-void
:cond_0
const/4 v0, 0x1
.line 3
:try_start_1
iput-boolean v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->released:Z
.line 4
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->connManager:Lorg/apache/http/conn/ClientConnectionManager;
if-eqz v0, :cond_1
.line 5
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->connManager:Lorg/apache/http/conn/ClientConnectionManager;
iget-wide v1, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->duration:J
sget-object v3, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-interface {v0, p0, v1, v2, v3}, Lorg/apache/http/conn/ClientConnectionManager;->releaseConnection(Lorg/apache/http/conn/ManagedClientConnection;JLjava/util/concurrent/TimeUnit;)V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 6
:cond_1
monitor-exit p0
return-void
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method public sendRequestEntity(Lorg/apache/http/HttpEntityEnclosingRequest;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/apache/http/HttpException;,
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertNotAborted()V
.line 2
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object v0
.line 3
invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V
.line 4
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->unmarkReusable()V
.line 5
invoke-interface {v0, p1}, Lorg/apache/http/HttpClientConnection;->sendRequestEntity(Lorg/apache/http/HttpEntityEnclosingRequest;)V
return-void
.end method
.method public sendRequestHeader(Lorg/apache/http/HttpRequest;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/apache/http/HttpException;,
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertNotAborted()V
.line 2
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object v0
.line 3
invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V
.line 4
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->unmarkReusable()V
.line 5
invoke-interface {v0, p1}, Lorg/apache/http/HttpClientConnection;->sendRequestHeader(Lorg/apache/http/HttpRequest;)V
return-void
.end method
.method public setIdleDuration(JLjava/util/concurrent/TimeUnit;)V
.locals 2
const-wide/16 v0, 0x0
cmp-long v0, p1, v0
if-lez v0, :cond_0
.line 1
invoke-virtual {p3, p1, p2}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide p1
iput-wide p1, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->duration:J
goto :goto_0
:cond_0
const-wide/16 p1, -0x1
.line 2
iput-wide p1, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->duration:J
:goto_0
return-void
.end method
.method public setSocketTimeout(I)V
.locals 1
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object v0
.line 2
invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V
.line 3
invoke-interface {v0, p1}, Lorg/apache/http/HttpConnection;->setSocketTimeout(I)V
return-void
.end method
.method public unmarkReusable()V
.locals 1
const/4 v0, 0x0
.line 1
iput-boolean v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->markedReusable:Z
return-void
.end method
@@ -0,0 +1,492 @@
.class public abstract Lorg/apache/http/impl/conn/AbstractPoolEntry;
.super Ljava/lang/Object;
.source "AbstractPoolEntry.java"
# instance fields
.field public final connOperator:Lorg/apache/http/conn/ClientConnectionOperator;
.field public final connection:Lorg/apache/http/conn/OperatedClientConnection;
.field public volatile route:Lorg/apache/http/conn/routing/HttpRoute;
.field public volatile state:Ljava/lang/Object;
.field public volatile tracker:Lorg/apache/http/conn/routing/RouteTracker;
# direct methods
.method public constructor <init>(Lorg/apache/http/conn/ClientConnectionOperator;Lorg/apache/http/conn/routing/HttpRoute;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
if-eqz p1, :cond_0
.line 2
iput-object p1, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->connOperator:Lorg/apache/http/conn/ClientConnectionOperator;
.line 3
invoke-interface {p1}, Lorg/apache/http/conn/ClientConnectionOperator;->createConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object p1
iput-object p1, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->connection:Lorg/apache/http/conn/OperatedClientConnection;
.line 4
iput-object p2, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->route:Lorg/apache/http/conn/routing/HttpRoute;
const/4 p1, 0x0
.line 5
iput-object p1, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
return-void
.line 6
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Connection operator may not be null"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
# virtual methods
.method public getState()Ljava/lang/Object;
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->state:Ljava/lang/Object;
return-object v0
.end method
.method public layerProtocol(Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-eqz p2, :cond_3
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
if-eqz v0, :cond_2
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
invoke-virtual {v0}, Lorg/apache/http/conn/routing/RouteTracker;->isConnected()Z
move-result v0
if-eqz v0, :cond_2
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
invoke-virtual {v0}, Lorg/apache/http/conn/routing/RouteTracker;->isTunnelled()Z
move-result v0
if-eqz v0, :cond_1
.line 3
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
invoke-virtual {v0}, Lorg/apache/http/conn/routing/RouteTracker;->isLayered()Z
move-result v0
if-nez v0, :cond_0
.line 4
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
invoke-virtual {v0}, Lorg/apache/http/conn/routing/RouteTracker;->getTargetHost()Lorg/apache/http/HttpHost;
move-result-object v0
.line 5
iget-object v1, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->connOperator:Lorg/apache/http/conn/ClientConnectionOperator;
iget-object v2, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->connection:Lorg/apache/http/conn/OperatedClientConnection;
invoke-interface {v1, v2, v0, p1, p2}, Lorg/apache/http/conn/ClientConnectionOperator;->updateSecureConnection(Lorg/apache/http/conn/OperatedClientConnection;Lorg/apache/http/HttpHost;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V
.line 6
iget-object p1, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
iget-object p2, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->connection:Lorg/apache/http/conn/OperatedClientConnection;
invoke-interface {p2}, Lorg/apache/http/conn/OperatedClientConnection;->isSecure()Z
move-result p2
invoke-virtual {p1, p2}, Lorg/apache/http/conn/routing/RouteTracker;->layerProtocol(Z)V
return-void
.line 7
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "Multiple protocol layering not supported."
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 8
:cond_1
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "Protocol layering without a tunnel not supported."
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 9
:cond_2
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "Connection not open."
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 10
:cond_3
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Parameters must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public open(Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V
.locals 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-eqz p1, :cond_6
if-eqz p3, :cond_5
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
if-eqz v0, :cond_1
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
invoke-virtual {v0}, Lorg/apache/http/conn/routing/RouteTracker;->isConnected()Z
move-result v0
if-nez v0, :cond_0
goto :goto_0
.line 2
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "Connection already open."
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 3
:cond_1
:goto_0
new-instance v0, Lorg/apache/http/conn/routing/RouteTracker;
invoke-direct {v0, p1}, Lorg/apache/http/conn/routing/RouteTracker;-><init>(Lorg/apache/http/conn/routing/HttpRoute;)V
iput-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
.line 4
invoke-virtual {p1}, Lorg/apache/http/conn/routing/HttpRoute;->getProxyHost()Lorg/apache/http/HttpHost;
move-result-object v0
.line 5
iget-object v1, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->connOperator:Lorg/apache/http/conn/ClientConnectionOperator;
iget-object v2, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->connection:Lorg/apache/http/conn/OperatedClientConnection;
if-eqz v0, :cond_2
move-object v3, v0
goto :goto_1
:cond_2
invoke-virtual {p1}, Lorg/apache/http/conn/routing/HttpRoute;->getTargetHost()Lorg/apache/http/HttpHost;
move-result-object v3
:goto_1
invoke-virtual {p1}, Lorg/apache/http/conn/routing/HttpRoute;->getLocalAddress()Ljava/net/InetAddress;
move-result-object v4
move-object v5, p2
move-object v6, p3
invoke-interface/range {v1 .. v6}, Lorg/apache/http/conn/ClientConnectionOperator;->openConnection(Lorg/apache/http/conn/OperatedClientConnection;Lorg/apache/http/HttpHost;Ljava/net/InetAddress;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V
.line 6
iget-object p1, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
if-eqz p1, :cond_4
if-nez v0, :cond_3
.line 7
iget-object p2, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->connection:Lorg/apache/http/conn/OperatedClientConnection;
invoke-interface {p2}, Lorg/apache/http/conn/OperatedClientConnection;->isSecure()Z
move-result p2
invoke-virtual {p1, p2}, Lorg/apache/http/conn/routing/RouteTracker;->connectTarget(Z)V
goto :goto_2
.line 8
:cond_3
iget-object p2, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->connection:Lorg/apache/http/conn/OperatedClientConnection;
invoke-interface {p2}, Lorg/apache/http/conn/OperatedClientConnection;->isSecure()Z
move-result p2
invoke-virtual {p1, v0, p2}, Lorg/apache/http/conn/routing/RouteTracker;->connectProxy(Lorg/apache/http/HttpHost;Z)V
:goto_2
return-void
.line 9
:cond_4
new-instance p1, Ljava/io/IOException;
const-string p2, "Request aborted"
invoke-direct {p1, p2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
.line 10
:cond_5
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Parameters must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 11
:cond_6
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Route must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public setState(Ljava/lang/Object;)V
.locals 0
.line 1
iput-object p1, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->state:Ljava/lang/Object;
return-void
.end method
.method public shutdownEntry()V
.locals 1
const/4 v0, 0x0
.line 1
iput-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
.line 2
iput-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->state:Ljava/lang/Object;
return-void
.end method
.method public tunnelProxy(Lorg/apache/http/HttpHost;ZLorg/apache/http/params/HttpParams;)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-eqz p1, :cond_2
if-eqz p3, :cond_1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
if-eqz v0, :cond_0
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
invoke-virtual {v0}, Lorg/apache/http/conn/routing/RouteTracker;->isConnected()Z
move-result v0
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->connection:Lorg/apache/http/conn/OperatedClientConnection;
const/4 v1, 0x0
invoke-interface {v0, v1, p1, p2, p3}, Lorg/apache/http/conn/OperatedClientConnection;->update(Ljava/net/Socket;Lorg/apache/http/HttpHost;ZLorg/apache/http/params/HttpParams;)V
.line 3
iget-object p3, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
invoke-virtual {p3, p1, p2}, Lorg/apache/http/conn/routing/RouteTracker;->tunnelProxy(Lorg/apache/http/HttpHost;Z)V
return-void
.line 4
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "Connection not open."
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 5
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Parameters must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 6
:cond_2
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Next proxy must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public tunnelTarget(ZLorg/apache/http/params/HttpParams;)V
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-eqz p2, :cond_2
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
if-eqz v0, :cond_1
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
invoke-virtual {v0}, Lorg/apache/http/conn/routing/RouteTracker;->isConnected()Z
move-result v0
if-eqz v0, :cond_1
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
invoke-virtual {v0}, Lorg/apache/http/conn/routing/RouteTracker;->isTunnelled()Z
move-result v0
if-nez v0, :cond_0
.line 3
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->connection:Lorg/apache/http/conn/OperatedClientConnection;
const/4 v1, 0x0
iget-object v2, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
invoke-virtual {v2}, Lorg/apache/http/conn/routing/RouteTracker;->getTargetHost()Lorg/apache/http/HttpHost;
move-result-object v2
invoke-interface {v0, v1, v2, p1, p2}, Lorg/apache/http/conn/OperatedClientConnection;->update(Ljava/net/Socket;Lorg/apache/http/HttpHost;ZLorg/apache/http/params/HttpParams;)V
.line 4
iget-object p2, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
invoke-virtual {p2, p1}, Lorg/apache/http/conn/routing/RouteTracker;->tunnelTarget(Z)V
return-void
.line 5
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "Connection is already tunnelled."
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 6
:cond_1
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "Connection not open."
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 7
:cond_2
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Parameters must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
@@ -0,0 +1,355 @@
.class public abstract Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;
.super Lorg/apache/http/impl/conn/AbstractClientConnAdapter;
.source "AbstractPooledConnAdapter.java"
# instance fields
.field public volatile poolEntry:Lorg/apache/http/impl/conn/AbstractPoolEntry;
# direct methods
.method public constructor <init>(Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/impl/conn/AbstractPoolEntry;)V
.locals 1
.line 1
iget-object v0, p2, Lorg/apache/http/impl/conn/AbstractPoolEntry;->connection:Lorg/apache/http/conn/OperatedClientConnection;
invoke-direct {p0, p1, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;-><init>(Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/conn/OperatedClientConnection;)V
.line 2
iput-object p2, p0, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->poolEntry:Lorg/apache/http/impl/conn/AbstractPoolEntry;
return-void
.end method
# virtual methods
.method public final assertAttached()V
.locals 2
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->poolEntry:Lorg/apache/http/impl/conn/AbstractPoolEntry;
if-eqz v0, :cond_0
return-void
.line 2
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Adapter is detached."
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public close()V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->poolEntry:Lorg/apache/http/impl/conn/AbstractPoolEntry;
if-eqz v0, :cond_0
.line 2
invoke-virtual {v0}, Lorg/apache/http/impl/conn/AbstractPoolEntry;->shutdownEntry()V
.line 3
:cond_0
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object v0
if-eqz v0, :cond_1
.line 4
invoke-interface {v0}, Lorg/apache/http/HttpConnection;->close()V
:cond_1
return-void
.end method
.method public declared-synchronized detach()V
.locals 1
monitor-enter p0
.line 1
:try_start_0
invoke-super {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->detach()V
const/4 v0, 0x0
.line 2
iput-object v0, p0, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->poolEntry:Lorg/apache/http/impl/conn/AbstractPoolEntry;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
monitor-exit p0
return-void
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method public getRoute()Lorg/apache/http/conn/routing/HttpRoute;
.locals 2
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->poolEntry:Lorg/apache/http/impl/conn/AbstractPoolEntry;
if-eqz v0, :cond_1
.line 2
iget-object v1, v0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
if-nez v1, :cond_0
const/4 v0, 0x0
goto :goto_0
:cond_0
iget-object v0, v0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
invoke-virtual {v0}, Lorg/apache/http/conn/routing/RouteTracker;->toRoute()Lorg/apache/http/conn/routing/HttpRoute;
move-result-object v0
:goto_0
return-object v0
.line 3
:cond_1
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Adapter is detached."
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public getState()Ljava/lang/Object;
.locals 2
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->poolEntry:Lorg/apache/http/impl/conn/AbstractPoolEntry;
if-eqz v0, :cond_0
.line 2
invoke-virtual {v0}, Lorg/apache/http/impl/conn/AbstractPoolEntry;->getState()Ljava/lang/Object;
move-result-object v0
return-object v0
.line 3
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Adapter is detached."
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public layerProtocol(Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertNotAborted()V
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->poolEntry:Lorg/apache/http/impl/conn/AbstractPoolEntry;
if-eqz v0, :cond_0
.line 3
invoke-virtual {v0, p1, p2}, Lorg/apache/http/impl/conn/AbstractPoolEntry;->layerProtocol(Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V
return-void
.line 4
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "Adapter is detached."
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public open(Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertNotAborted()V
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->poolEntry:Lorg/apache/http/impl/conn/AbstractPoolEntry;
if-eqz v0, :cond_0
.line 3
invoke-virtual {v0, p1, p2, p3}, Lorg/apache/http/impl/conn/AbstractPoolEntry;->open(Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V
return-void
.line 4
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "Adapter is detached."
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public setState(Ljava/lang/Object;)V
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->poolEntry:Lorg/apache/http/impl/conn/AbstractPoolEntry;
if-eqz v0, :cond_0
.line 2
invoke-virtual {v0, p1}, Lorg/apache/http/impl/conn/AbstractPoolEntry;->setState(Ljava/lang/Object;)V
return-void
.line 3
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "Adapter is detached."
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public shutdown()V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->poolEntry:Lorg/apache/http/impl/conn/AbstractPoolEntry;
if-eqz v0, :cond_0
.line 2
invoke-virtual {v0}, Lorg/apache/http/impl/conn/AbstractPoolEntry;->shutdownEntry()V
.line 3
:cond_0
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object v0
if-eqz v0, :cond_1
.line 4
invoke-interface {v0}, Lorg/apache/http/HttpConnection;->shutdown()V
:cond_1
return-void
.end method
.method public tunnelProxy(Lorg/apache/http/HttpHost;ZLorg/apache/http/params/HttpParams;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertNotAborted()V
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->poolEntry:Lorg/apache/http/impl/conn/AbstractPoolEntry;
if-eqz v0, :cond_0
.line 3
invoke-virtual {v0, p1, p2, p3}, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tunnelProxy(Lorg/apache/http/HttpHost;ZLorg/apache/http/params/HttpParams;)V
return-void
.line 4
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "Adapter is detached."
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public tunnelTarget(ZLorg/apache/http/params/HttpParams;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertNotAborted()V
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->poolEntry:Lorg/apache/http/impl/conn/AbstractPoolEntry;
if-eqz v0, :cond_0
.line 3
invoke-virtual {v0, p1, p2}, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tunnelTarget(ZLorg/apache/http/params/HttpParams;)V
return-void
.line 4
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "Adapter is detached."
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
@@ -0,0 +1,622 @@
.class public Lorg/apache/http/impl/conn/DefaultClientConnection;
.super Lorg/apache/http/impl/SocketHttpClientConnection;
.source "DefaultClientConnection.java"
# interfaces
.implements Lorg/apache/http/conn/OperatedClientConnection;
# annotations
.annotation build Lorg/apache/http/annotation/NotThreadSafe;
.end annotation
# instance fields
.field private connSecure:Z
.field private final headerLog:Lorg/apache/commons/logging/Log;
.field private final log:Lorg/apache/commons/logging/Log;
.field private volatile shutdown:Z
.field private volatile socket:Ljava/net/Socket;
.field private targetHost:Lorg/apache/http/HttpHost;
.field private final wireLog:Lorg/apache/commons/logging/Log;
# direct methods
.method public constructor <init>()V
.locals 1
.line 1
invoke-direct {p0}, Lorg/apache/http/impl/SocketHttpClientConnection;-><init>()V
.line 2
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->getLog(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
move-result-object v0
iput-object v0, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->log:Lorg/apache/commons/logging/Log;
const-string v0, "org.apache.http.headers"
.line 3
invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->getLog(Ljava/lang/String;)Lorg/apache/commons/logging/Log;
move-result-object v0
iput-object v0, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->headerLog:Lorg/apache/commons/logging/Log;
const-string v0, "org.apache.http.wire"
.line 4
invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->getLog(Ljava/lang/String;)Lorg/apache/commons/logging/Log;
move-result-object v0
iput-object v0, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->wireLog:Lorg/apache/commons/logging/Log;
return-void
.end method
# virtual methods
.method public close()V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->log:Lorg/apache/commons/logging/Log;
const-string v1, "Connection closed"
invoke-interface {v0, v1}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
.line 2
invoke-super {p0}, Lorg/apache/http/impl/SocketHttpClientConnection;->close()V
return-void
.end method
.method public createResponseParser(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/HttpResponseFactory;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/io/HttpMessageParser;
.locals 2
.line 1
new-instance v0, Lorg/apache/http/impl/conn/DefaultResponseParser;
const/4 v1, 0x0
invoke-direct {v0, p1, v1, p2, p3}, Lorg/apache/http/impl/conn/DefaultResponseParser;-><init>(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/message/LineParser;Lorg/apache/http/HttpResponseFactory;Lorg/apache/http/params/HttpParams;)V
return-object v0
.end method
.method public createSessionInputBuffer(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)Lorg/apache/http/io/SessionInputBuffer;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, -0x1
if-ne p2, v0, :cond_0
const/16 p2, 0x2000
.line 1
:cond_0
invoke-super {p0, p1, p2, p3}, Lorg/apache/http/impl/SocketHttpClientConnection;->createSessionInputBuffer(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)Lorg/apache/http/io/SessionInputBuffer;
move-result-object p1
.line 2
iget-object p2, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->wireLog:Lorg/apache/commons/logging/Log;
invoke-interface {p2}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result p2
if-eqz p2, :cond_1
.line 3
new-instance p2, Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;
new-instance p3, Lorg/apache/http/impl/conn/Wire;
iget-object v0, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->wireLog:Lorg/apache/commons/logging/Log;
invoke-direct {p3, v0}, Lorg/apache/http/impl/conn/Wire;-><init>(Lorg/apache/commons/logging/Log;)V
invoke-direct {p2, p1, p3}, Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;-><init>(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/impl/conn/Wire;)V
move-object p1, p2
:cond_1
return-object p1
.end method
.method public createSessionOutputBuffer(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)Lorg/apache/http/io/SessionOutputBuffer;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, -0x1
if-ne p2, v0, :cond_0
const/16 p2, 0x2000
.line 1
:cond_0
invoke-super {p0, p1, p2, p3}, Lorg/apache/http/impl/SocketHttpClientConnection;->createSessionOutputBuffer(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)Lorg/apache/http/io/SessionOutputBuffer;
move-result-object p1
.line 2
iget-object p2, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->wireLog:Lorg/apache/commons/logging/Log;
invoke-interface {p2}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result p2
if-eqz p2, :cond_1
.line 3
new-instance p2, Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;
new-instance p3, Lorg/apache/http/impl/conn/Wire;
iget-object v0, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->wireLog:Lorg/apache/commons/logging/Log;
invoke-direct {p3, v0}, Lorg/apache/http/impl/conn/Wire;-><init>(Lorg/apache/commons/logging/Log;)V
invoke-direct {p2, p1, p3}, Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;-><init>(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/impl/conn/Wire;)V
move-object p1, p2
:cond_1
return-object p1
.end method
.method public final getSocket()Ljava/net/Socket;
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->socket:Ljava/net/Socket;
return-object v0
.end method
.method public final getTargetHost()Lorg/apache/http/HttpHost;
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->targetHost:Lorg/apache/http/HttpHost;
return-object v0
.end method
.method public final isSecure()Z
.locals 1
.line 1
iget-boolean v0, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->connSecure:Z
return v0
.end method
.method public openCompleted(ZLorg/apache/http/params/HttpParams;)V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/SocketHttpClientConnection;->assertNotOpen()V
if-eqz p2, :cond_0
.line 2
iput-boolean p1, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->connSecure:Z
.line 3
iget-object p1, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->socket:Ljava/net/Socket;
invoke-virtual {p0, p1, p2}, Lorg/apache/http/impl/SocketHttpClientConnection;->bind(Ljava/net/Socket;Lorg/apache/http/params/HttpParams;)V
return-void
.line 4
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Parameters must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public opening(Ljava/net/Socket;Lorg/apache/http/HttpHost;)V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/SocketHttpClientConnection;->assertNotOpen()V
.line 2
iput-object p1, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->socket:Ljava/net/Socket;
.line 3
iput-object p2, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->targetHost:Lorg/apache/http/HttpHost;
.line 4
iget-boolean p2, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->shutdown:Z
if-nez p2, :cond_0
return-void
.line 5
:cond_0
invoke-virtual {p1}, Ljava/net/Socket;->close()V
.line 6
new-instance p1, Ljava/io/IOException;
const-string p2, "Connection already shutdown"
invoke-direct {p1, p2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public receiveResponseHeader()Lorg/apache/http/HttpResponse;
.locals 8
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/apache/http/HttpException;,
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-super {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->receiveResponseHeader()Lorg/apache/http/HttpResponse;
move-result-object v0
.line 2
iget-object v1, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->log:Lorg/apache/commons/logging/Log;
invoke-interface {v1}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result v1
if-eqz v1, :cond_0
.line 3
iget-object v1, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->log:Lorg/apache/commons/logging/Log;
const-string v2, "Receiving response: "
invoke-static {v2}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-interface {v0}, Lorg/apache/http/HttpResponse;->getStatusLine()Lorg/apache/http/StatusLine;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-interface {v1, v2}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
.line 4
:cond_0
iget-object v1, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->headerLog:Lorg/apache/commons/logging/Log;
invoke-interface {v1}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result v1
if-eqz v1, :cond_1
.line 5
iget-object v1, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->headerLog:Lorg/apache/commons/logging/Log;
const-string v2, "<< "
invoke-static {v2}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-interface {v0}, Lorg/apache/http/HttpResponse;->getStatusLine()Lorg/apache/http/StatusLine;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-interface {v1, v3}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
.line 6
invoke-interface {v0}, Lorg/apache/http/HttpMessage;->getAllHeaders()[Lorg/apache/http/Header;
move-result-object v1
.line 7
array-length v3, v1
const/4 v4, 0x0
:goto_0
if-ge v4, v3, :cond_1
aget-object v5, v1, v4
.line 8
iget-object v6, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->headerLog:Lorg/apache/commons/logging/Log;
invoke-static {v2}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v7
invoke-virtual {v5}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v5
invoke-virtual {v7, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-interface {v6, v5}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
add-int/lit8 v4, v4, 0x1
goto :goto_0
:cond_1
return-object v0
.end method
.method public sendRequestHeader(Lorg/apache/http/HttpRequest;)V
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/apache/http/HttpException;,
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->log:Lorg/apache/commons/logging/Log;
invoke-interface {v0}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result v0
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->log:Lorg/apache/commons/logging/Log;
const-string v1, "Sending request: "
invoke-static {v1}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-interface {p1}, Lorg/apache/http/HttpRequest;->getRequestLine()Lorg/apache/http/RequestLine;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
.line 3
:cond_0
invoke-super {p0, p1}, Lorg/apache/http/impl/AbstractHttpClientConnection;->sendRequestHeader(Lorg/apache/http/HttpRequest;)V
.line 4
iget-object v0, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->headerLog:Lorg/apache/commons/logging/Log;
invoke-interface {v0}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result v0
if-eqz v0, :cond_1
.line 5
iget-object v0, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->headerLog:Lorg/apache/commons/logging/Log;
const-string v1, ">> "
invoke-static {v1}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-interface {p1}, Lorg/apache/http/HttpRequest;->getRequestLine()Lorg/apache/http/RequestLine;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-interface {v0, v2}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
.line 6
invoke-interface {p1}, Lorg/apache/http/HttpMessage;->getAllHeaders()[Lorg/apache/http/Header;
move-result-object p1
.line 7
array-length v0, p1
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_1
aget-object v3, p1, v2
.line 8
iget-object v4, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->headerLog:Lorg/apache/commons/logging/Log;
invoke-static {v1}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-virtual {v3}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-interface {v4, v3}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
return-void
.end method
.method public shutdown()V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->log:Lorg/apache/commons/logging/Log;
const-string v1, "Connection shut down"
invoke-interface {v0, v1}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->shutdown:Z
.line 3
invoke-super {p0}, Lorg/apache/http/impl/SocketHttpClientConnection;->shutdown()V
.line 4
iget-object v0, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->socket:Ljava/net/Socket;
if-eqz v0, :cond_0
.line 5
invoke-virtual {v0}, Ljava/net/Socket;->close()V
:cond_0
return-void
.end method
.method public update(Ljava/net/Socket;Lorg/apache/http/HttpHost;ZLorg/apache/http/params/HttpParams;)V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/SocketHttpClientConnection;->assertOpen()V
if-eqz p2, :cond_2
if-eqz p4, :cond_1
if-eqz p1, :cond_0
.line 2
iput-object p1, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->socket:Ljava/net/Socket;
.line 3
invoke-virtual {p0, p1, p4}, Lorg/apache/http/impl/SocketHttpClientConnection;->bind(Ljava/net/Socket;Lorg/apache/http/params/HttpParams;)V
.line 4
:cond_0
iput-object p2, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->targetHost:Lorg/apache/http/HttpHost;
.line 5
iput-boolean p3, p0, Lorg/apache/http/impl/conn/DefaultClientConnection;->connSecure:Z
return-void
.line 6
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Parameters must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 7
:cond_2
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Target host must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
@@ -0,0 +1,397 @@
.class public Lorg/apache/http/impl/conn/DefaultClientConnectionOperator;
.super Ljava/lang/Object;
.source "DefaultClientConnectionOperator.java"
# interfaces
.implements Lorg/apache/http/conn/ClientConnectionOperator;
# annotations
.annotation build Lorg/apache/http/annotation/ThreadSafe;
.end annotation
# instance fields
.field public final schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry;
# direct methods
.method public constructor <init>(Lorg/apache/http/conn/scheme/SchemeRegistry;)V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
if-eqz p1, :cond_0
.line 2
iput-object p1, p0, Lorg/apache/http/impl/conn/DefaultClientConnectionOperator;->schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry;
return-void
.line 3
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Scheme registry must not be null."
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
# virtual methods
.method public createConnection()Lorg/apache/http/conn/OperatedClientConnection;
.locals 1
.line 1
new-instance v0, Lorg/apache/http/impl/conn/DefaultClientConnection;
invoke-direct {v0}, Lorg/apache/http/impl/conn/DefaultClientConnection;-><init>()V
return-object v0
.end method
.method public openConnection(Lorg/apache/http/conn/OperatedClientConnection;Lorg/apache/http/HttpHost;Ljava/net/InetAddress;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V
.locals 9
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-eqz p1, :cond_3
if-eqz p2, :cond_2
if-eqz p5, :cond_1
.line 1
invoke-interface {p1}, Lorg/apache/http/HttpConnection;->isOpen()Z
move-result v0
if-nez v0, :cond_0
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/DefaultClientConnectionOperator;->schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry;
invoke-virtual {p2}, Lorg/apache/http/HttpHost;->getSchemeName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Lorg/apache/http/conn/scheme/SchemeRegistry;->getScheme(Ljava/lang/String;)Lorg/apache/http/conn/scheme/Scheme;
move-result-object v0
.line 3
invoke-virtual {v0}, Lorg/apache/http/conn/scheme/Scheme;->getSocketFactory()Lorg/apache/http/conn/scheme/SocketFactory;
move-result-object v8
.line 4
invoke-interface {v8}, Lorg/apache/http/conn/scheme/SocketFactory;->createSocket()Ljava/net/Socket;
move-result-object v2
.line 5
invoke-interface {p1, v2, p2}, Lorg/apache/http/conn/OperatedClientConnection;->opening(Ljava/net/Socket;Lorg/apache/http/HttpHost;)V
.line 6
:try_start_0
invoke-virtual {p2}, Lorg/apache/http/HttpHost;->getHostName()Ljava/lang/String;
move-result-object v3
invoke-virtual {p2}, Lorg/apache/http/HttpHost;->getPort()I
move-result v1
invoke-virtual {v0, v1}, Lorg/apache/http/conn/scheme/Scheme;->resolvePort(I)I
move-result v4
const/4 v6, 0x0
move-object v1, v8
move-object v5, p3
move-object v7, p5
invoke-interface/range {v1 .. v7}, Lorg/apache/http/conn/scheme/SocketFactory;->connectSocket(Ljava/net/Socket;Ljava/lang/String;ILjava/net/InetAddress;ILorg/apache/http/params/HttpParams;)Ljava/net/Socket;
move-result-object p2
:try_end_0
.catch Ljava/net/ConnectException; {:try_start_0 .. :try_end_0} :catch_0
.line 7
invoke-virtual {p0, p2, p4, p5}, Lorg/apache/http/impl/conn/DefaultClientConnectionOperator;->prepareSocket(Ljava/net/Socket;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V
.line 8
invoke-interface {v8, p2}, Lorg/apache/http/conn/scheme/SocketFactory;->isSecure(Ljava/net/Socket;)Z
move-result p2
invoke-interface {p1, p2, p5}, Lorg/apache/http/conn/OperatedClientConnection;->openCompleted(ZLorg/apache/http/params/HttpParams;)V
return-void
:catch_0
move-exception p1
.line 9
new-instance p3, Lorg/apache/http/conn/HttpHostConnectException;
invoke-direct {p3, p2, p1}, Lorg/apache/http/conn/HttpHostConnectException;-><init>(Lorg/apache/http/HttpHost;Ljava/net/ConnectException;)V
throw p3
.line 10
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Connection must not be open."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 11
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Parameters must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 12
:cond_2
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Target host must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 13
:cond_3
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Connection must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public prepareSocket(Ljava/net/Socket;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-static {p3}, Lorg/apache/http/params/HttpConnectionParams;->getTcpNoDelay(Lorg/apache/http/params/HttpParams;)Z
move-result p2
invoke-virtual {p1, p2}, Ljava/net/Socket;->setTcpNoDelay(Z)V
.line 2
invoke-static {p3}, Lorg/apache/http/params/HttpConnectionParams;->getSoTimeout(Lorg/apache/http/params/HttpParams;)I
move-result p2
invoke-virtual {p1, p2}, Ljava/net/Socket;->setSoTimeout(I)V
.line 3
invoke-static {p3}, Lorg/apache/http/params/HttpConnectionParams;->getLinger(Lorg/apache/http/params/HttpParams;)I
move-result p2
if-ltz p2, :cond_1
if-lez p2, :cond_0
const/4 p3, 0x1
goto :goto_0
:cond_0
const/4 p3, 0x0
.line 4
:goto_0
invoke-virtual {p1, p3, p2}, Ljava/net/Socket;->setSoLinger(ZI)V
:cond_1
return-void
.end method
.method public updateSecureConnection(Lorg/apache/http/conn/OperatedClientConnection;Lorg/apache/http/HttpHost;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-eqz p1, :cond_4
if-eqz p2, :cond_3
if-eqz p4, :cond_2
.line 1
invoke-interface {p1}, Lorg/apache/http/HttpConnection;->isOpen()Z
move-result v0
if-eqz v0, :cond_1
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/DefaultClientConnectionOperator;->schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry;
invoke-virtual {p2}, Lorg/apache/http/HttpHost;->getSchemeName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Lorg/apache/http/conn/scheme/SchemeRegistry;->getScheme(Ljava/lang/String;)Lorg/apache/http/conn/scheme/Scheme;
move-result-object v0
.line 3
invoke-virtual {v0}, Lorg/apache/http/conn/scheme/Scheme;->getSocketFactory()Lorg/apache/http/conn/scheme/SocketFactory;
move-result-object v1
instance-of v1, v1, Lorg/apache/http/conn/scheme/LayeredSocketFactory;
if-eqz v1, :cond_0
.line 4
invoke-virtual {v0}, Lorg/apache/http/conn/scheme/Scheme;->getSocketFactory()Lorg/apache/http/conn/scheme/SocketFactory;
move-result-object v0
check-cast v0, Lorg/apache/http/conn/scheme/LayeredSocketFactory;
.line 5
:try_start_0
invoke-interface {p1}, Lorg/apache/http/conn/OperatedClientConnection;->getSocket()Ljava/net/Socket;
move-result-object v1
invoke-virtual {p2}, Lorg/apache/http/HttpHost;->getHostName()Ljava/lang/String;
move-result-object v2
invoke-virtual {p2}, Lorg/apache/http/HttpHost;->getPort()I
move-result v3
const/4 v4, 0x1
invoke-interface {v0, v1, v2, v3, v4}, Lorg/apache/http/conn/scheme/LayeredSocketFactory;->createSocket(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket;
move-result-object v1
:try_end_0
.catch Ljava/net/ConnectException; {:try_start_0 .. :try_end_0} :catch_0
.line 6
invoke-virtual {p0, v1, p3, p4}, Lorg/apache/http/impl/conn/DefaultClientConnectionOperator;->prepareSocket(Ljava/net/Socket;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V
.line 7
invoke-interface {v0, v1}, Lorg/apache/http/conn/scheme/SocketFactory;->isSecure(Ljava/net/Socket;)Z
move-result p3
invoke-interface {p1, v1, p2, p3, p4}, Lorg/apache/http/conn/OperatedClientConnection;->update(Ljava/net/Socket;Lorg/apache/http/HttpHost;ZLorg/apache/http/params/HttpParams;)V
return-void
:catch_0
move-exception p1
.line 8
new-instance p3, Lorg/apache/http/conn/HttpHostConnectException;
invoke-direct {p3, p2, p1}, Lorg/apache/http/conn/HttpHostConnectException;-><init>(Lorg/apache/http/HttpHost;Ljava/net/ConnectException;)V
throw p3
.line 9
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Target scheme ("
invoke-static {p2}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
invoke-virtual {v0}, Lorg/apache/http/conn/scheme/Scheme;->getName()Ljava/lang/String;
move-result-object p3
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p3, ") must have layered socket factory."
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 10
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Connection must be open."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 11
:cond_2
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Parameters must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 12
:cond_3
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Target host must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 13
:cond_4
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Connection must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
@@ -0,0 +1,144 @@
.class public Lorg/apache/http/impl/conn/DefaultHttpRoutePlanner;
.super Ljava/lang/Object;
.source "DefaultHttpRoutePlanner.java"
# interfaces
.implements Lorg/apache/http/conn/routing/HttpRoutePlanner;
# annotations
.annotation build Lorg/apache/http/annotation/ThreadSafe;
.end annotation
# instance fields
.field public final schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry;
# direct methods
.method public constructor <init>(Lorg/apache/http/conn/scheme/SchemeRegistry;)V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
if-eqz p1, :cond_0
.line 2
iput-object p1, p0, Lorg/apache/http/impl/conn/DefaultHttpRoutePlanner;->schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry;
return-void
.line 3
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "SchemeRegistry must not be null."
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
# virtual methods
.method public determineRoute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/conn/routing/HttpRoute;
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/apache/http/HttpException;
}
.end annotation
if-eqz p2, :cond_3
.line 1
invoke-interface {p2}, Lorg/apache/http/HttpMessage;->getParams()Lorg/apache/http/params/HttpParams;
move-result-object p3
invoke-static {p3}, Lorg/apache/http/conn/params/ConnRouteParams;->getForcedRoute(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/conn/routing/HttpRoute;
move-result-object p3
if-eqz p3, :cond_0
return-object p3
:cond_0
if-eqz p1, :cond_2
.line 2
invoke-interface {p2}, Lorg/apache/http/HttpMessage;->getParams()Lorg/apache/http/params/HttpParams;
move-result-object p3
invoke-static {p3}, Lorg/apache/http/conn/params/ConnRouteParams;->getLocalAddress(Lorg/apache/http/params/HttpParams;)Ljava/net/InetAddress;
move-result-object p3
.line 3
invoke-interface {p2}, Lorg/apache/http/HttpMessage;->getParams()Lorg/apache/http/params/HttpParams;
move-result-object p2
invoke-static {p2}, Lorg/apache/http/conn/params/ConnRouteParams;->getDefaultProxy(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/HttpHost;
move-result-object p2
.line 4
iget-object v0, p0, Lorg/apache/http/impl/conn/DefaultHttpRoutePlanner;->schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry;
invoke-virtual {p1}, Lorg/apache/http/HttpHost;->getSchemeName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Lorg/apache/http/conn/scheme/SchemeRegistry;->getScheme(Ljava/lang/String;)Lorg/apache/http/conn/scheme/Scheme;
move-result-object v0
.line 5
invoke-virtual {v0}, Lorg/apache/http/conn/scheme/Scheme;->isLayered()Z
move-result v0
if-nez p2, :cond_1
.line 6
new-instance p2, Lorg/apache/http/conn/routing/HttpRoute;
invoke-direct {p2, p1, p3, v0}, Lorg/apache/http/conn/routing/HttpRoute;-><init>(Lorg/apache/http/HttpHost;Ljava/net/InetAddress;Z)V
goto :goto_0
.line 7
:cond_1
new-instance v1, Lorg/apache/http/conn/routing/HttpRoute;
invoke-direct {v1, p1, p3, p2, v0}, Lorg/apache/http/conn/routing/HttpRoute;-><init>(Lorg/apache/http/HttpHost;Ljava/net/InetAddress;Lorg/apache/http/HttpHost;Z)V
move-object p2, v1
:goto_0
return-object p2
.line 8
:cond_2
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "Target host must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 9
:cond_3
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "Request must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
@@ -0,0 +1,221 @@
.class public Lorg/apache/http/impl/conn/DefaultResponseParser;
.super Lorg/apache/http/impl/io/AbstractMessageParser;
.source "DefaultResponseParser.java"
# annotations
.annotation build Lorg/apache/http/annotation/ThreadSafe;
.end annotation
# instance fields
.field private final lineBuf:Lorg/apache/http/util/CharArrayBuffer;
.field private final log:Lorg/apache/commons/logging/Log;
.field private final maxGarbageLines:I
.field private final responseFactory:Lorg/apache/http/HttpResponseFactory;
# direct methods
.method public constructor <init>(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/message/LineParser;Lorg/apache/http/HttpResponseFactory;Lorg/apache/http/params/HttpParams;)V
.locals 0
.line 1
invoke-direct {p0, p1, p2, p4}, Lorg/apache/http/impl/io/AbstractMessageParser;-><init>(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/message/LineParser;Lorg/apache/http/params/HttpParams;)V
.line 2
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p1
invoke-static {p1}, Lorg/apache/commons/logging/LogFactory;->getLog(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
move-result-object p1
iput-object p1, p0, Lorg/apache/http/impl/conn/DefaultResponseParser;->log:Lorg/apache/commons/logging/Log;
if-eqz p3, :cond_0
.line 3
iput-object p3, p0, Lorg/apache/http/impl/conn/DefaultResponseParser;->responseFactory:Lorg/apache/http/HttpResponseFactory;
.line 4
new-instance p1, Lorg/apache/http/util/CharArrayBuffer;
const/16 p2, 0x80
invoke-direct {p1, p2}, Lorg/apache/http/util/CharArrayBuffer;-><init>(I)V
iput-object p1, p0, Lorg/apache/http/impl/conn/DefaultResponseParser;->lineBuf:Lorg/apache/http/util/CharArrayBuffer;
const p1, 0x7fffffff
const-string p2, "http.connection.max-status-line-garbage"
.line 5
invoke-interface {p4, p2, p1}, Lorg/apache/http/params/HttpParams;->getIntParameter(Ljava/lang/String;I)I
move-result p1
iput p1, p0, Lorg/apache/http/impl/conn/DefaultResponseParser;->maxGarbageLines:I
return-void
.line 6
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Response factory may not be null"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
# virtual methods
.method public parseHead(Lorg/apache/http/io/SessionInputBuffer;)Lorg/apache/http/HttpMessage;
.locals 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Lorg/apache/http/HttpException;
}
.end annotation
const/4 v0, 0x0
move v1, v0
.line 1
:goto_0
iget-object v2, p0, Lorg/apache/http/impl/conn/DefaultResponseParser;->lineBuf:Lorg/apache/http/util/CharArrayBuffer;
invoke-virtual {v2}, Lorg/apache/http/util/CharArrayBuffer;->clear()V
.line 2
iget-object v2, p0, Lorg/apache/http/impl/conn/DefaultResponseParser;->lineBuf:Lorg/apache/http/util/CharArrayBuffer;
invoke-interface {p1, v2}, Lorg/apache/http/io/SessionInputBuffer;->readLine(Lorg/apache/http/util/CharArrayBuffer;)I
move-result v2
const/4 v3, -0x1
if-ne v2, v3, :cond_1
if-eqz v1, :cond_0
goto :goto_1
.line 3
:cond_0
new-instance p1, Lorg/apache/http/NoHttpResponseException;
const-string v0, "The target server failed to respond"
invoke-direct {p1, v0}, Lorg/apache/http/NoHttpResponseException;-><init>(Ljava/lang/String;)V
throw p1
.line 4
:cond_1
:goto_1
new-instance v4, Lorg/apache/http/message/ParserCursor;
iget-object v5, p0, Lorg/apache/http/impl/conn/DefaultResponseParser;->lineBuf:Lorg/apache/http/util/CharArrayBuffer;
invoke-virtual {v5}, Lorg/apache/http/util/CharArrayBuffer;->length()I
move-result v5
invoke-direct {v4, v0, v5}, Lorg/apache/http/message/ParserCursor;-><init>(II)V
.line 5
iget-object v5, p0, Lorg/apache/http/impl/io/AbstractMessageParser;->lineParser:Lorg/apache/http/message/LineParser;
iget-object v6, p0, Lorg/apache/http/impl/conn/DefaultResponseParser;->lineBuf:Lorg/apache/http/util/CharArrayBuffer;
invoke-interface {v5, v6, v4}, Lorg/apache/http/message/LineParser;->hasProtocolVersion(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Z
move-result v5
if-eqz v5, :cond_2
.line 6
iget-object p1, p0, Lorg/apache/http/impl/io/AbstractMessageParser;->lineParser:Lorg/apache/http/message/LineParser;
iget-object v0, p0, Lorg/apache/http/impl/conn/DefaultResponseParser;->lineBuf:Lorg/apache/http/util/CharArrayBuffer;
invoke-interface {p1, v0, v4}, Lorg/apache/http/message/LineParser;->parseStatusLine(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/StatusLine;
move-result-object p1
.line 7
iget-object v0, p0, Lorg/apache/http/impl/conn/DefaultResponseParser;->responseFactory:Lorg/apache/http/HttpResponseFactory;
const/4 v1, 0x0
invoke-interface {v0, p1, v1}, Lorg/apache/http/HttpResponseFactory;->newHttpResponse(Lorg/apache/http/StatusLine;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpResponse;
move-result-object p1
return-object p1
:cond_2
if-eq v2, v3, :cond_4
.line 8
iget v2, p0, Lorg/apache/http/impl/conn/DefaultResponseParser;->maxGarbageLines:I
if-ge v1, v2, :cond_4
.line 9
iget-object v2, p0, Lorg/apache/http/impl/conn/DefaultResponseParser;->log:Lorg/apache/commons/logging/Log;
invoke-interface {v2}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result v2
if-eqz v2, :cond_3
.line 10
iget-object v2, p0, Lorg/apache/http/impl/conn/DefaultResponseParser;->log:Lorg/apache/commons/logging/Log;
const-string v3, "Garbage in response: "
invoke-static {v3}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
iget-object v4, p0, Lorg/apache/http/impl/conn/DefaultResponseParser;->lineBuf:Lorg/apache/http/util/CharArrayBuffer;
invoke-virtual {v4}, Lorg/apache/http/util/CharArrayBuffer;->toString()Ljava/lang/String;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-interface {v2, v3}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
:cond_3
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 11
:cond_4
new-instance p1, Lorg/apache/http/ProtocolException;
const-string v0, "The server failed to respond with a valid HTTP response"
invoke-direct {p1, v0}, Lorg/apache/http/ProtocolException;-><init>(Ljava/lang/String;)V
throw p1
.end method
@@ -0,0 +1,76 @@
.class Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;
.super Ljava/lang/Object;
.source "IdleConnectionHandler.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lorg/apache/http/impl/conn/IdleConnectionHandler;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "TimeValues"
.end annotation
# instance fields
.field private final timeAdded:J
.field private final timeExpires:J
# direct methods
.method public constructor <init>(JJLjava/util/concurrent/TimeUnit;)V
.locals 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-wide p1, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;->timeAdded:J
const-wide/16 v0, 0x0
cmp-long v0, p3, v0
if-lez v0, :cond_0
.line 3
invoke-virtual {p5, p3, p4}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide p3
add-long/2addr p3, p1
iput-wide p3, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;->timeExpires:J
goto :goto_0
:cond_0
const-wide p1, 0x7fffffffffffffffL
.line 4
iput-wide p1, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;->timeExpires:J
:goto_0
return-void
.end method
.method public static synthetic access$000(Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;)J
.locals 2
.line 1
iget-wide v0, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;->timeExpires:J
return-wide v0
.end method
.method public static synthetic access$100(Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;)J
.locals 2
.line 1
iget-wide v0, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;->timeAdded:J
return-wide v0
.end method
@@ -0,0 +1,448 @@
.class public Lorg/apache/http/impl/conn/IdleConnectionHandler;
.super Ljava/lang/Object;
.source "IdleConnectionHandler.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;
}
.end annotation
.annotation build Lorg/apache/http/annotation/NotThreadSafe;
.end annotation
# instance fields
.field private final connectionToTimes:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Lorg/apache/http/HttpConnection;",
"Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;",
">;"
}
.end annotation
.end field
.field private final log:Lorg/apache/commons/logging/Log;
# direct methods
.method public constructor <init>()V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->getLog(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
move-result-object v0
iput-object v0, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->log:Lorg/apache/commons/logging/Log;
.line 3
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->connectionToTimes:Ljava/util/Map;
return-void
.end method
# virtual methods
.method public add(Lorg/apache/http/HttpConnection;JLjava/util/concurrent/TimeUnit;)V
.locals 8
.line 1
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v1
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->log:Lorg/apache/commons/logging/Log;
invoke-interface {v0}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result v0
if-eqz v0, :cond_0
.line 3
iget-object v0, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->log:Lorg/apache/commons/logging/Log;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Adding connection at: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-interface {v0, v3}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
.line 4
:cond_0
iget-object v6, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->connectionToTimes:Ljava/util/Map;
new-instance v7, Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;
move-object v0, v7
move-wide v3, p2
move-object v5, p4
invoke-direct/range {v0 .. v5}, Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;-><init>(JJLjava/util/concurrent/TimeUnit;)V
invoke-interface {v6, p1, v7}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-void
.end method
.method public closeExpiredConnections()V
.locals 9
.line 1
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
.line 2
iget-object v2, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->log:Lorg/apache/commons/logging/Log;
invoke-interface {v2}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result v2
if-eqz v2, :cond_0
.line 3
iget-object v2, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->log:Lorg/apache/commons/logging/Log;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Checking for expired connections, now: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-interface {v2, v3}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
.line 4
:cond_0
iget-object v2, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->connectionToTimes:Ljava/util/Map;
invoke-interface {v2}, Ljava/util/Map;->keySet()Ljava/util/Set;
move-result-object v2
invoke-interface {v2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v2
.line 5
:cond_1
:goto_0
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_3
.line 6
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lorg/apache/http/HttpConnection;
.line 7
iget-object v4, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->connectionToTimes:Ljava/util/Map;
invoke-interface {v4, v3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;
.line 8
invoke-static {v4}, Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;->access$000(Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;)J
move-result-wide v5
cmp-long v5, v5, v0
if-gtz v5, :cond_1
.line 9
iget-object v5, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->log:Lorg/apache/commons/logging/Log;
invoke-interface {v5}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result v5
if-eqz v5, :cond_2
.line 10
iget-object v5, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->log:Lorg/apache/commons/logging/Log;
const-string v6, "Closing connection, expired @: "
invoke-static {v6}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v6
invoke-static {v4}, Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;->access$000(Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;)J
move-result-wide v7
invoke-virtual {v6, v7, v8}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-interface {v5, v4}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
.line 11
:cond_2
:try_start_0
invoke-interface {v3}, Lorg/apache/http/HttpConnection;->close()V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception v3
.line 12
iget-object v4, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->log:Lorg/apache/commons/logging/Log;
const-string v5, "I/O error closing connection"
invoke-interface {v4, v5, v3}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;Ljava/lang/Throwable;)V
goto :goto_0
:cond_3
return-void
.end method
.method public closeIdleConnections(J)V
.locals 7
.line 1
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
sub-long/2addr v0, p1
.line 2
iget-object p1, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->log:Lorg/apache/commons/logging/Log;
invoke-interface {p1}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result p1
if-eqz p1, :cond_0
.line 3
iget-object p1, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->log:Lorg/apache/commons/logging/Log;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Checking for connections, idle timeout: "
invoke-virtual {p2, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-interface {p1, p2}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
.line 4
:cond_0
iget-object p1, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->connectionToTimes:Ljava/util/Map;
invoke-interface {p1}, Ljava/util/Map;->keySet()Ljava/util/Set;
move-result-object p1
invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p1
.line 5
:cond_1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result p2
if-eqz p2, :cond_3
.line 6
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p2
check-cast p2, Lorg/apache/http/HttpConnection;
.line 7
iget-object v2, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->connectionToTimes:Ljava/util/Map;
invoke-interface {v2, p2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;
.line 8
invoke-static {v2}, Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;->access$100(Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;)J
move-result-wide v2
cmp-long v4, v2, v0
if-gtz v4, :cond_1
.line 9
iget-object v4, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->log:Lorg/apache/commons/logging/Log;
invoke-interface {v4}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result v4
if-eqz v4, :cond_2
.line 10
iget-object v4, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->log:Lorg/apache/commons/logging/Log;
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "Closing idle connection, connection time: "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-interface {v4, v2}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
.line 11
:cond_2
:try_start_0
invoke-interface {p2}, Lorg/apache/http/HttpConnection;->close()V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception p2
.line 12
iget-object v2, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->log:Lorg/apache/commons/logging/Log;
const-string v3, "I/O error closing connection"
invoke-interface {v2, v3, p2}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;Ljava/lang/Throwable;)V
goto :goto_0
:cond_3
return-void
.end method
.method public remove(Lorg/apache/http/HttpConnection;)Z
.locals 5
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->connectionToTimes:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;
const/4 v0, 0x1
if-nez p1, :cond_0
.line 2
iget-object p1, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->log:Lorg/apache/commons/logging/Log;
const-string v1, "Removing a connection that never existed!"
invoke-interface {p1, v1}, Lorg/apache/commons/logging/Log;->warn(Ljava/lang/Object;)V
return v0
.line 3
:cond_0
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v1
invoke-static {p1}, Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;->access$000(Lorg/apache/http/impl/conn/IdleConnectionHandler$TimeValues;)J
move-result-wide v3
cmp-long p1, v1, v3
if-gtz p1, :cond_1
goto :goto_0
:cond_1
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public removeAll()V
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/IdleConnectionHandler;->connectionToTimes:Ljava/util/Map;
invoke-interface {v0}, Ljava/util/Map;->clear()V
return-void
.end method
@@ -0,0 +1,290 @@
.class public Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;
.super Ljava/lang/Object;
.source "LoggingSessionInputBuffer.java"
# interfaces
.implements Lorg/apache/http/io/SessionInputBuffer;
# annotations
.annotation build Lorg/apache/http/annotation/Immutable;
.end annotation
# instance fields
.field private final in:Lorg/apache/http/io/SessionInputBuffer;
.field private final wire:Lorg/apache/http/impl/conn/Wire;
# direct methods
.method public constructor <init>(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/impl/conn/Wire;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;->in:Lorg/apache/http/io/SessionInputBuffer;
.line 3
iput-object p2, p0, Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
return-void
.end method
# virtual methods
.method public getMetrics()Lorg/apache/http/io/HttpTransportMetrics;
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;->in:Lorg/apache/http/io/SessionInputBuffer;
invoke-interface {v0}, Lorg/apache/http/io/SessionInputBuffer;->getMetrics()Lorg/apache/http/io/HttpTransportMetrics;
move-result-object v0
return-object v0
.end method
.method public isDataAvailable(I)Z
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;->in:Lorg/apache/http/io/SessionInputBuffer;
invoke-interface {v0, p1}, Lorg/apache/http/io/SessionInputBuffer;->isDataAvailable(I)Z
move-result p1
return p1
.end method
.method public read()I
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 4
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;->in:Lorg/apache/http/io/SessionInputBuffer;
invoke-interface {v0}, Lorg/apache/http/io/SessionInputBuffer;->read()I
move-result v0
.line 5
iget-object v1, p0, Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
invoke-virtual {v1}, Lorg/apache/http/impl/conn/Wire;->enabled()Z
move-result v1
if-eqz v1, :cond_0
const/4 v1, -0x1
if-eq v0, v1, :cond_0
.line 6
iget-object v1, p0, Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
invoke-virtual {v1, v0}, Lorg/apache/http/impl/conn/Wire;->input(I)V
:cond_0
return v0
.end method
.method public read([B)I
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 7
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;->in:Lorg/apache/http/io/SessionInputBuffer;
invoke-interface {v0, p1}, Lorg/apache/http/io/SessionInputBuffer;->read([B)I
move-result v0
.line 8
iget-object v1, p0, Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
invoke-virtual {v1}, Lorg/apache/http/impl/conn/Wire;->enabled()Z
move-result v1
if-eqz v1, :cond_0
if-lez v0, :cond_0
.line 9
iget-object v1, p0, Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
const/4 v2, 0x0
invoke-virtual {v1, p1, v2, v0}, Lorg/apache/http/impl/conn/Wire;->input([BII)V
:cond_0
return v0
.end method
.method public read([BII)I
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;->in:Lorg/apache/http/io/SessionInputBuffer;
invoke-interface {v0, p1, p2, p3}, Lorg/apache/http/io/SessionInputBuffer;->read([BII)I
move-result p3
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
invoke-virtual {v0}, Lorg/apache/http/impl/conn/Wire;->enabled()Z
move-result v0
if-eqz v0, :cond_0
if-lez p3, :cond_0
.line 3
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
invoke-virtual {v0, p1, p2, p3}, Lorg/apache/http/impl/conn/Wire;->input([BII)V
:cond_0
return p3
.end method
.method public readLine(Lorg/apache/http/util/CharArrayBuffer;)I
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 4
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;->in:Lorg/apache/http/io/SessionInputBuffer;
invoke-interface {v0, p1}, Lorg/apache/http/io/SessionInputBuffer;->readLine(Lorg/apache/http/util/CharArrayBuffer;)I
move-result v0
.line 5
iget-object v1, p0, Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
invoke-virtual {v1}, Lorg/apache/http/impl/conn/Wire;->enabled()Z
move-result v1
if-eqz v1, :cond_0
if-ltz v0, :cond_0
.line 6
invoke-virtual {p1}, Lorg/apache/http/util/CharArrayBuffer;->length()I
move-result v1
sub-int/2addr v1, v0
.line 7
new-instance v2, Ljava/lang/String;
invoke-virtual {p1}, Lorg/apache/http/util/CharArrayBuffer;->buffer()[C
move-result-object p1
invoke-direct {v2, p1, v1, v0}, Ljava/lang/String;-><init>([CII)V
.line 8
iget-object p1, p0, Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "[EOL]"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {p1, v1}, Lorg/apache/http/impl/conn/Wire;->input(Ljava/lang/String;)V
:cond_0
return v0
.end method
.method public readLine()Ljava/lang/String;
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;->in:Lorg/apache/http/io/SessionInputBuffer;
invoke-interface {v0}, Lorg/apache/http/io/SessionInputBuffer;->readLine()Ljava/lang/String;
move-result-object v0
.line 2
iget-object v1, p0, Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
invoke-virtual {v1}, Lorg/apache/http/impl/conn/Wire;->enabled()Z
move-result v1
if-eqz v1, :cond_0
if-eqz v0, :cond_0
.line 3
iget-object v1, p0, Lorg/apache/http/impl/conn/LoggingSessionInputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "[EOL]"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Lorg/apache/http/impl/conn/Wire;->input(Ljava/lang/String;)V
:cond_0
return-object v0
.end method
@@ -0,0 +1,263 @@
.class public Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;
.super Ljava/lang/Object;
.source "LoggingSessionOutputBuffer.java"
# interfaces
.implements Lorg/apache/http/io/SessionOutputBuffer;
# annotations
.annotation build Lorg/apache/http/annotation/Immutable;
.end annotation
# instance fields
.field private final out:Lorg/apache/http/io/SessionOutputBuffer;
.field private final wire:Lorg/apache/http/impl/conn/Wire;
# direct methods
.method public constructor <init>(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/impl/conn/Wire;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;->out:Lorg/apache/http/io/SessionOutputBuffer;
.line 3
iput-object p2, p0, Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
return-void
.end method
# virtual methods
.method public flush()V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;->out:Lorg/apache/http/io/SessionOutputBuffer;
invoke-interface {v0}, Lorg/apache/http/io/SessionOutputBuffer;->flush()V
return-void
.end method
.method public getMetrics()Lorg/apache/http/io/HttpTransportMetrics;
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;->out:Lorg/apache/http/io/SessionOutputBuffer;
invoke-interface {v0}, Lorg/apache/http/io/SessionOutputBuffer;->getMetrics()Lorg/apache/http/io/HttpTransportMetrics;
move-result-object v0
return-object v0
.end method
.method public write(I)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 4
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;->out:Lorg/apache/http/io/SessionOutputBuffer;
invoke-interface {v0, p1}, Lorg/apache/http/io/SessionOutputBuffer;->write(I)V
.line 5
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
invoke-virtual {v0}, Lorg/apache/http/impl/conn/Wire;->enabled()Z
move-result v0
if-eqz v0, :cond_0
.line 6
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
invoke-virtual {v0, p1}, Lorg/apache/http/impl/conn/Wire;->output(I)V
:cond_0
return-void
.end method
.method public write([B)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 7
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;->out:Lorg/apache/http/io/SessionOutputBuffer;
invoke-interface {v0, p1}, Lorg/apache/http/io/SessionOutputBuffer;->write([B)V
.line 8
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
invoke-virtual {v0}, Lorg/apache/http/impl/conn/Wire;->enabled()Z
move-result v0
if-eqz v0, :cond_0
.line 9
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
invoke-virtual {v0, p1}, Lorg/apache/http/impl/conn/Wire;->output([B)V
:cond_0
return-void
.end method
.method public write([BII)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;->out:Lorg/apache/http/io/SessionOutputBuffer;
invoke-interface {v0, p1, p2, p3}, Lorg/apache/http/io/SessionOutputBuffer;->write([BII)V
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
invoke-virtual {v0}, Lorg/apache/http/impl/conn/Wire;->enabled()Z
move-result v0
if-eqz v0, :cond_0
.line 3
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
invoke-virtual {v0, p1, p2, p3}, Lorg/apache/http/impl/conn/Wire;->output([BII)V
:cond_0
return-void
.end method
.method public writeLine(Ljava/lang/String;)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 5
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;->out:Lorg/apache/http/io/SessionOutputBuffer;
invoke-interface {v0, p1}, Lorg/apache/http/io/SessionOutputBuffer;->writeLine(Ljava/lang/String;)V
.line 6
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
invoke-virtual {v0}, Lorg/apache/http/impl/conn/Wire;->enabled()Z
move-result v0
if-eqz v0, :cond_0
.line 7
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, "[EOL]"
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Lorg/apache/http/impl/conn/Wire;->output(Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public writeLine(Lorg/apache/http/util/CharArrayBuffer;)V
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;->out:Lorg/apache/http/io/SessionOutputBuffer;
invoke-interface {v0, p1}, Lorg/apache/http/io/SessionOutputBuffer;->writeLine(Lorg/apache/http/util/CharArrayBuffer;)V
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
invoke-virtual {v0}, Lorg/apache/http/impl/conn/Wire;->enabled()Z
move-result v0
if-eqz v0, :cond_0
.line 3
new-instance v0, Ljava/lang/String;
invoke-virtual {p1}, Lorg/apache/http/util/CharArrayBuffer;->buffer()[C
move-result-object v1
const/4 v2, 0x0
invoke-virtual {p1}, Lorg/apache/http/util/CharArrayBuffer;->length()I
move-result p1
invoke-direct {v0, v1, v2, p1}, Ljava/lang/String;-><init>([CII)V
.line 4
iget-object p1, p0, Lorg/apache/http/impl/conn/LoggingSessionOutputBuffer;->wire:Lorg/apache/http/impl/conn/Wire;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, "[EOL]"
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v0}, Lorg/apache/http/impl/conn/Wire;->output(Ljava/lang/String;)V
:cond_0
return-void
.end method
@@ -0,0 +1,83 @@
.class synthetic Lorg/apache/http/impl/conn/ProxySelectorRoutePlanner$1;
.super Ljava/lang/Object;
.source "ProxySelectorRoutePlanner.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lorg/apache/http/impl/conn/ProxySelectorRoutePlanner;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation
# static fields
.field public static final synthetic $SwitchMap$java$net$Proxy$Type:[I
# direct methods
.method public static constructor <clinit>()V
.locals 3
.line 1
invoke-static {}, Ljava/net/Proxy$Type;->values()[Ljava/net/Proxy$Type;
move-result-object v0
array-length v0, v0
new-array v0, v0, [I
sput-object v0, Lorg/apache/http/impl/conn/ProxySelectorRoutePlanner$1;->$SwitchMap$java$net$Proxy$Type:[I
:try_start_0
sget-object v1, Ljava/net/Proxy$Type;->DIRECT:Ljava/net/Proxy$Type;
invoke-virtual {v1}, Ljava/net/Proxy$Type;->ordinal()I
move-result v1
const/4 v2, 0x1
aput v2, v0, v1
:try_end_0
.catch Ljava/lang/NoSuchFieldError; {:try_start_0 .. :try_end_0} :catch_0
:catch_0
:try_start_1
sget-object v0, Lorg/apache/http/impl/conn/ProxySelectorRoutePlanner$1;->$SwitchMap$java$net$Proxy$Type:[I
sget-object v1, Ljava/net/Proxy$Type;->HTTP:Ljava/net/Proxy$Type;
invoke-virtual {v1}, Ljava/net/Proxy$Type;->ordinal()I
move-result v1
const/4 v2, 0x2
aput v2, v0, v1
:try_end_1
.catch Ljava/lang/NoSuchFieldError; {:try_start_1 .. :try_end_1} :catch_1
:catch_1
:try_start_2
sget-object v0, Lorg/apache/http/impl/conn/ProxySelectorRoutePlanner$1;->$SwitchMap$java$net$Proxy$Type:[I
sget-object v1, Ljava/net/Proxy$Type;->SOCKS:Ljava/net/Proxy$Type;
invoke-virtual {v1}, Ljava/net/Proxy$Type;->ordinal()I
move-result v1
const/4 v2, 0x3
aput v2, v0, v1
:try_end_2
.catch Ljava/lang/NoSuchFieldError; {:try_start_2 .. :try_end_2} :catch_2
:catch_2
return-void
.end method
@@ -0,0 +1,430 @@
.class public Lorg/apache/http/impl/conn/ProxySelectorRoutePlanner;
.super Ljava/lang/Object;
.source "ProxySelectorRoutePlanner.java"
# interfaces
.implements Lorg/apache/http/conn/routing/HttpRoutePlanner;
# annotations
.annotation build Lorg/apache/http/annotation/NotThreadSafe;
.end annotation
# instance fields
.field public proxySelector:Ljava/net/ProxySelector;
.field public final schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry;
# direct methods
.method public constructor <init>(Lorg/apache/http/conn/scheme/SchemeRegistry;Ljava/net/ProxySelector;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
if-eqz p1, :cond_0
.line 2
iput-object p1, p0, Lorg/apache/http/impl/conn/ProxySelectorRoutePlanner;->schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry;
.line 3
iput-object p2, p0, Lorg/apache/http/impl/conn/ProxySelectorRoutePlanner;->proxySelector:Ljava/net/ProxySelector;
return-void
.line 4
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "SchemeRegistry must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
# virtual methods
.method public chooseProxy(Ljava/util/List;Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Ljava/net/Proxy;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/net/Proxy;",
">;",
"Lorg/apache/http/HttpHost;",
"Lorg/apache/http/HttpRequest;",
"Lorg/apache/http/protocol/HttpContext;",
")",
"Ljava/net/Proxy;"
}
.end annotation
if-eqz p1, :cond_3
.line 1
invoke-interface {p1}, Ljava/util/List;->isEmpty()Z
move-result p2
if-nez p2, :cond_3
const/4 p2, 0x0
const/4 p3, 0x0
:goto_0
if-nez p2, :cond_1
.line 2
invoke-interface {p1}, Ljava/util/List;->size()I
move-result p4
if-ge p3, p4, :cond_1
.line 3
invoke-interface {p1, p3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p4
check-cast p4, Ljava/net/Proxy;
.line 4
sget-object v0, Lorg/apache/http/impl/conn/ProxySelectorRoutePlanner$1;->$SwitchMap$java$net$Proxy$Type:[I
invoke-virtual {p4}, Ljava/net/Proxy;->type()Ljava/net/Proxy$Type;
move-result-object v1
invoke-virtual {v1}, Ljava/net/Proxy$Type;->ordinal()I
move-result v1
aget v0, v0, v1
const/4 v1, 0x1
if-eq v0, v1, :cond_0
const/4 v1, 0x2
if-eq v0, v1, :cond_0
goto :goto_1
:cond_0
move-object p2, p4
:goto_1
add-int/lit8 p3, p3, 0x1
goto :goto_0
:cond_1
if-nez p2, :cond_2
.line 5
sget-object p2, Ljava/net/Proxy;->NO_PROXY:Ljava/net/Proxy;
:cond_2
return-object p2
.line 6
:cond_3
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Proxy list must not be empty."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public determineProxy(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpHost;
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/apache/http/HttpException;
}
.end annotation
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/ProxySelectorRoutePlanner;->proxySelector:Ljava/net/ProxySelector;
if-nez v0, :cond_0
.line 2
invoke-static {}, Ljava/net/ProxySelector;->getDefault()Ljava/net/ProxySelector;
move-result-object v0
:cond_0
const/4 v1, 0x0
if-nez v0, :cond_1
return-object v1
.line 3
:cond_1
:try_start_0
new-instance v2, Ljava/net/URI;
invoke-virtual {p1}, Lorg/apache/http/HttpHost;->toURI()Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v3}, Ljava/net/URI;-><init>(Ljava/lang/String;)V
:try_end_0
.catch Ljava/net/URISyntaxException; {:try_start_0 .. :try_end_0} :catch_0
.line 4
invoke-virtual {v0, v2}, Ljava/net/ProxySelector;->select(Ljava/net/URI;)Ljava/util/List;
move-result-object v0
.line 5
invoke-virtual {p0, v0, p1, p2, p3}, Lorg/apache/http/impl/conn/ProxySelectorRoutePlanner;->chooseProxy(Ljava/util/List;Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Ljava/net/Proxy;
move-result-object p1
.line 6
invoke-virtual {p1}, Ljava/net/Proxy;->type()Ljava/net/Proxy$Type;
move-result-object p2
sget-object p3, Ljava/net/Proxy$Type;->HTTP:Ljava/net/Proxy$Type;
if-ne p2, p3, :cond_3
.line 7
invoke-virtual {p1}, Ljava/net/Proxy;->address()Ljava/net/SocketAddress;
move-result-object p2
instance-of p2, p2, Ljava/net/InetSocketAddress;
if-eqz p2, :cond_2
.line 8
invoke-virtual {p1}, Ljava/net/Proxy;->address()Ljava/net/SocketAddress;
move-result-object p1
check-cast p1, Ljava/net/InetSocketAddress;
.line 9
new-instance v1, Lorg/apache/http/HttpHost;
invoke-virtual {p0, p1}, Lorg/apache/http/impl/conn/ProxySelectorRoutePlanner;->getHost(Ljava/net/InetSocketAddress;)Ljava/lang/String;
move-result-object p2
invoke-virtual {p1}, Ljava/net/InetSocketAddress;->getPort()I
move-result p1
invoke-direct {v1, p2, p1}, Lorg/apache/http/HttpHost;-><init>(Ljava/lang/String;I)V
goto :goto_0
.line 10
:cond_2
new-instance p2, Lorg/apache/http/HttpException;
const-string p3, "Unable to handle non-Inet proxy address: "
invoke-static {p3}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p3
invoke-virtual {p1}, Ljava/net/Proxy;->address()Ljava/net/SocketAddress;
move-result-object p1
invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p2, p1}, Lorg/apache/http/HttpException;-><init>(Ljava/lang/String;)V
throw p2
:cond_3
:goto_0
return-object v1
:catch_0
move-exception p2
.line 11
new-instance p3, Lorg/apache/http/HttpException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Cannot convert host to URI: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p3, p1, p2}, Lorg/apache/http/HttpException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p3
.end method
.method public determineRoute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/conn/routing/HttpRoute;
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/apache/http/HttpException;
}
.end annotation
if-eqz p2, :cond_3
.line 1
invoke-interface {p2}, Lorg/apache/http/HttpMessage;->getParams()Lorg/apache/http/params/HttpParams;
move-result-object v0
invoke-static {v0}, Lorg/apache/http/conn/params/ConnRouteParams;->getForcedRoute(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/conn/routing/HttpRoute;
move-result-object v0
if-eqz v0, :cond_0
return-object v0
:cond_0
if-eqz p1, :cond_2
.line 2
invoke-interface {p2}, Lorg/apache/http/HttpMessage;->getParams()Lorg/apache/http/params/HttpParams;
move-result-object v0
invoke-static {v0}, Lorg/apache/http/conn/params/ConnRouteParams;->getLocalAddress(Lorg/apache/http/params/HttpParams;)Ljava/net/InetAddress;
move-result-object v0
.line 3
invoke-virtual {p0, p1, p2, p3}, Lorg/apache/http/impl/conn/ProxySelectorRoutePlanner;->determineProxy(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpHost;
move-result-object p2
.line 4
iget-object p3, p0, Lorg/apache/http/impl/conn/ProxySelectorRoutePlanner;->schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry;
invoke-virtual {p1}, Lorg/apache/http/HttpHost;->getSchemeName()Ljava/lang/String;
move-result-object v1
invoke-virtual {p3, v1}, Lorg/apache/http/conn/scheme/SchemeRegistry;->getScheme(Ljava/lang/String;)Lorg/apache/http/conn/scheme/Scheme;
move-result-object p3
.line 5
invoke-virtual {p3}, Lorg/apache/http/conn/scheme/Scheme;->isLayered()Z
move-result p3
if-nez p2, :cond_1
.line 6
new-instance p2, Lorg/apache/http/conn/routing/HttpRoute;
invoke-direct {p2, p1, v0, p3}, Lorg/apache/http/conn/routing/HttpRoute;-><init>(Lorg/apache/http/HttpHost;Ljava/net/InetAddress;Z)V
goto :goto_0
.line 7
:cond_1
new-instance v1, Lorg/apache/http/conn/routing/HttpRoute;
invoke-direct {v1, p1, v0, p2, p3}, Lorg/apache/http/conn/routing/HttpRoute;-><init>(Lorg/apache/http/HttpHost;Ljava/net/InetAddress;Lorg/apache/http/HttpHost;Z)V
move-object p2, v1
:goto_0
return-object p2
.line 8
:cond_2
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "Target host must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 9
:cond_3
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "Request must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public getHost(Ljava/net/InetSocketAddress;)Ljava/lang/String;
.locals 1
.line 1
invoke-virtual {p1}, Ljava/net/InetSocketAddress;->isUnresolved()Z
move-result v0
if-eqz v0, :cond_0
invoke-virtual {p1}, Ljava/net/InetSocketAddress;->getHostName()Ljava/lang/String;
move-result-object p1
goto :goto_0
:cond_0
invoke-virtual {p1}, Ljava/net/InetSocketAddress;->getAddress()Ljava/net/InetAddress;
move-result-object p1
invoke-virtual {p1}, Ljava/net/InetAddress;->getHostAddress()Ljava/lang/String;
move-result-object p1
:goto_0
return-object p1
.end method
.method public getProxySelector()Ljava/net/ProxySelector;
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/ProxySelectorRoutePlanner;->proxySelector:Ljava/net/ProxySelector;
return-object v0
.end method
.method public setProxySelector(Ljava/net/ProxySelector;)V
.locals 0
.line 1
iput-object p1, p0, Lorg/apache/http/impl/conn/ProxySelectorRoutePlanner;->proxySelector:Ljava/net/ProxySelector;
return-void
.end method
@@ -0,0 +1,67 @@
.class Lorg/apache/http/impl/conn/SingleClientConnManager$1;
.super Ljava/lang/Object;
.source "SingleClientConnManager.java"
# interfaces
.implements Lorg/apache/http/conn/ClientConnectionRequest;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lorg/apache/http/impl/conn/SingleClientConnManager;->requestConnection(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Lorg/apache/http/conn/ClientConnectionRequest;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lorg/apache/http/impl/conn/SingleClientConnManager;
.field public final synthetic val$route:Lorg/apache/http/conn/routing/HttpRoute;
.field public final synthetic val$state:Ljava/lang/Object;
# direct methods
.method public constructor <init>(Lorg/apache/http/impl/conn/SingleClientConnManager;Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)V
.locals 0
.line 1
iput-object p1, p0, Lorg/apache/http/impl/conn/SingleClientConnManager$1;->this$0:Lorg/apache/http/impl/conn/SingleClientConnManager;
iput-object p2, p0, Lorg/apache/http/impl/conn/SingleClientConnManager$1;->val$route:Lorg/apache/http/conn/routing/HttpRoute;
iput-object p3, p0, Lorg/apache/http/impl/conn/SingleClientConnManager$1;->val$state:Ljava/lang/Object;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public abortRequest()V
.locals 0
return-void
.end method
.method public getConnection(JLjava/util/concurrent/TimeUnit;)Lorg/apache/http/conn/ManagedClientConnection;
.locals 0
.line 1
iget-object p1, p0, Lorg/apache/http/impl/conn/SingleClientConnManager$1;->this$0:Lorg/apache/http/impl/conn/SingleClientConnManager;
iget-object p2, p0, Lorg/apache/http/impl/conn/SingleClientConnManager$1;->val$route:Lorg/apache/http/conn/routing/HttpRoute;
iget-object p3, p0, Lorg/apache/http/impl/conn/SingleClientConnManager$1;->val$state:Ljava/lang/Object;
invoke-virtual {p1, p2, p3}, Lorg/apache/http/impl/conn/SingleClientConnManager;->getConnection(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Lorg/apache/http/conn/ManagedClientConnection;
move-result-object p1
return-object p1
.end method
@@ -0,0 +1,38 @@
.class public Lorg/apache/http/impl/conn/SingleClientConnManager$ConnAdapter;
.super Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;
.source "SingleClientConnManager.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lorg/apache/http/impl/conn/SingleClientConnManager;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = "ConnAdapter"
.end annotation
# instance fields
.field public final synthetic this$0:Lorg/apache/http/impl/conn/SingleClientConnManager;
# direct methods
.method public constructor <init>(Lorg/apache/http/impl/conn/SingleClientConnManager;Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;Lorg/apache/http/conn/routing/HttpRoute;)V
.locals 0
.line 1
iput-object p1, p0, Lorg/apache/http/impl/conn/SingleClientConnManager$ConnAdapter;->this$0:Lorg/apache/http/impl/conn/SingleClientConnManager;
.line 2
invoke-direct {p0, p1, p2}, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;-><init>(Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/impl/conn/AbstractPoolEntry;)V
.line 3
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->markReusable()V
.line 4
iput-object p3, p2, Lorg/apache/http/impl/conn/AbstractPoolEntry;->route:Lorg/apache/http/conn/routing/HttpRoute;
return-void
.end method
@@ -0,0 +1,96 @@
.class public Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;
.super Lorg/apache/http/impl/conn/AbstractPoolEntry;
.source "SingleClientConnManager.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lorg/apache/http/impl/conn/SingleClientConnManager;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = "PoolEntry"
.end annotation
# instance fields
.field public final synthetic this$0:Lorg/apache/http/impl/conn/SingleClientConnManager;
# direct methods
.method public constructor <init>(Lorg/apache/http/impl/conn/SingleClientConnManager;)V
.locals 1
.line 1
iput-object p1, p0, Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;->this$0:Lorg/apache/http/impl/conn/SingleClientConnManager;
.line 2
iget-object p1, p1, Lorg/apache/http/impl/conn/SingleClientConnManager;->connOperator:Lorg/apache/http/conn/ClientConnectionOperator;
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Lorg/apache/http/impl/conn/AbstractPoolEntry;-><init>(Lorg/apache/http/conn/ClientConnectionOperator;Lorg/apache/http/conn/routing/HttpRoute;)V
return-void
.end method
# virtual methods
.method public close()V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractPoolEntry;->shutdownEntry()V
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->connection:Lorg/apache/http/conn/OperatedClientConnection;
invoke-interface {v0}, Lorg/apache/http/HttpConnection;->isOpen()Z
move-result v0
if-eqz v0, :cond_0
.line 3
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->connection:Lorg/apache/http/conn/OperatedClientConnection;
invoke-interface {v0}, Lorg/apache/http/HttpConnection;->close()V
:cond_0
return-void
.end method
.method public shutdown()V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractPoolEntry;->shutdownEntry()V
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->connection:Lorg/apache/http/conn/OperatedClientConnection;
invoke-interface {v0}, Lorg/apache/http/HttpConnection;->isOpen()Z
move-result v0
if-eqz v0, :cond_0
.line 3
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->connection:Lorg/apache/http/conn/OperatedClientConnection;
invoke-interface {v0}, Lorg/apache/http/HttpConnection;->shutdown()V
:cond_0
return-void
.end method
@@ -0,0 +1,998 @@
.class public Lorg/apache/http/impl/conn/SingleClientConnManager;
.super Ljava/lang/Object;
.source "SingleClientConnManager.java"
# interfaces
.implements Lorg/apache/http/conn/ClientConnectionManager;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lorg/apache/http/impl/conn/SingleClientConnManager$ConnAdapter;,
Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;
}
.end annotation
.annotation build Lorg/apache/http/annotation/ThreadSafe;
.end annotation
# static fields
.field public static final MISUSE_MESSAGE:Ljava/lang/String; = "Invalid use of SingleClientConnManager: connection still allocated.\nMake sure to release the connection before allocating another one."
# instance fields
.field public final alwaysShutDown:Z
.field public final connOperator:Lorg/apache/http/conn/ClientConnectionOperator;
.field public connectionExpiresTime:J
.annotation build Lorg/apache/http/annotation/GuardedBy;
value = "this"
.end annotation
.end field
.field public volatile isShutDown:Z
.field public lastReleaseTime:J
.annotation build Lorg/apache/http/annotation/GuardedBy;
value = "this"
.end annotation
.end field
.field private final log:Lorg/apache/commons/logging/Log;
.field public managedConn:Lorg/apache/http/impl/conn/SingleClientConnManager$ConnAdapter;
.annotation build Lorg/apache/http/annotation/GuardedBy;
value = "this"
.end annotation
.end field
.field public final schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry;
.field public uniquePoolEntry:Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;
.annotation build Lorg/apache/http/annotation/GuardedBy;
value = "this"
.end annotation
.end field
# direct methods
.method public constructor <init>(Lorg/apache/http/params/HttpParams;Lorg/apache/http/conn/scheme/SchemeRegistry;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p1
invoke-static {p1}, Lorg/apache/commons/logging/LogFactory;->getLog(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
move-result-object p1
iput-object p1, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->log:Lorg/apache/commons/logging/Log;
if-eqz p2, :cond_0
.line 3
iput-object p2, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry;
.line 4
invoke-virtual {p0, p2}, Lorg/apache/http/impl/conn/SingleClientConnManager;->createConnectionOperator(Lorg/apache/http/conn/scheme/SchemeRegistry;)Lorg/apache/http/conn/ClientConnectionOperator;
move-result-object p1
iput-object p1, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->connOperator:Lorg/apache/http/conn/ClientConnectionOperator;
.line 5
new-instance p1, Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;
invoke-direct {p1, p0}, Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;-><init>(Lorg/apache/http/impl/conn/SingleClientConnManager;)V
iput-object p1, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->uniquePoolEntry:Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;
const/4 p1, 0x0
.line 6
iput-object p1, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->managedConn:Lorg/apache/http/impl/conn/SingleClientConnManager$ConnAdapter;
const-wide/16 p1, -0x1
.line 7
iput-wide p1, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->lastReleaseTime:J
const/4 p1, 0x0
.line 8
iput-boolean p1, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->alwaysShutDown:Z
.line 9
iput-boolean p1, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->isShutDown:Z
return-void
.line 10
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Scheme registry must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
# virtual methods
.method public final assertStillUp()V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/IllegalStateException;
}
.end annotation
.line 1
iget-boolean v0, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->isShutDown:Z
if-nez v0, :cond_0
return-void
.line 2
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Manager is shut down."
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public declared-synchronized closeExpiredConnections()V
.locals 4
monitor-enter p0
.line 1
:try_start_0
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iget-wide v2, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->connectionExpiresTime:J
cmp-long v0, v0, v2
if-ltz v0, :cond_0
const-wide/16 v0, 0x0
.line 2
sget-object v2, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {p0, v0, v1, v2}, Lorg/apache/http/impl/conn/SingleClientConnManager;->closeIdleConnections(JLjava/util/concurrent/TimeUnit;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
:cond_0
monitor-exit p0
return-void
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized closeIdleConnections(JLjava/util/concurrent/TimeUnit;)V
.locals 2
monitor-enter p0
.line 1
:try_start_0
invoke-virtual {p0}, Lorg/apache/http/impl/conn/SingleClientConnManager;->assertStillUp()V
if-eqz p3, :cond_1
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->managedConn:Lorg/apache/http/impl/conn/SingleClientConnManager$ConnAdapter;
if-nez v0, :cond_0
iget-object v0, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->uniquePoolEntry:Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;
iget-object v0, v0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->connection:Lorg/apache/http/conn/OperatedClientConnection;
invoke-interface {v0}, Lorg/apache/http/HttpConnection;->isOpen()Z
move-result v0
if-eqz v0, :cond_0
.line 3
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
invoke-virtual {p3, p1, p2}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide p1
sub-long/2addr v0, p1
.line 4
iget-wide p1, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->lastReleaseTime:J
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
cmp-long p1, p1, v0
if-gtz p1, :cond_0
.line 5
:try_start_1
iget-object p1, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->uniquePoolEntry:Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;
invoke-virtual {p1}, Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;->close()V
:try_end_1
.catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_0
.catchall {:try_start_1 .. :try_end_1} :catchall_0
goto :goto_0
:catch_0
move-exception p1
.line 6
:try_start_2
iget-object p2, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->log:Lorg/apache/commons/logging/Log;
const-string p3, "Problem closing idle connection."
invoke-interface {p2, p3, p1}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;Ljava/lang/Throwable;)V
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_0
.line 7
:cond_0
:goto_0
monitor-exit p0
return-void
.line 8
:cond_1
:try_start_3
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Time unit must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_0
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
.method public createConnectionOperator(Lorg/apache/http/conn/scheme/SchemeRegistry;)Lorg/apache/http/conn/ClientConnectionOperator;
.locals 1
.line 1
new-instance v0, Lorg/apache/http/impl/conn/DefaultClientConnectionOperator;
invoke-direct {v0, p1}, Lorg/apache/http/impl/conn/DefaultClientConnectionOperator;-><init>(Lorg/apache/http/conn/scheme/SchemeRegistry;)V
return-object v0
.end method
.method public finalize()V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Throwable;
}
.end annotation
.line 1
:try_start_0
invoke-virtual {p0}, Lorg/apache/http/impl/conn/SingleClientConnManager;->shutdown()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 2
invoke-super {p0}, Ljava/lang/Object;->finalize()V
return-void
:catchall_0
move-exception v0
invoke-super {p0}, Ljava/lang/Object;->finalize()V
throw v0
.end method
.method public declared-synchronized getConnection(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Lorg/apache/http/conn/ManagedClientConnection;
.locals 4
monitor-enter p0
if-eqz p1, :cond_7
.line 1
:try_start_0
invoke-virtual {p0}, Lorg/apache/http/impl/conn/SingleClientConnManager;->assertStillUp()V
.line 2
iget-object p2, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->log:Lorg/apache/commons/logging/Log;
invoke-interface {p2}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result p2
if-eqz p2, :cond_0
.line 3
iget-object p2, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->log:Lorg/apache/commons/logging/Log;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Get connection for route "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-interface {p2, v0}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
.line 4
:cond_0
iget-object p2, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->managedConn:Lorg/apache/http/impl/conn/SingleClientConnManager$ConnAdapter;
if-nez p2, :cond_6
.line 5
invoke-virtual {p0}, Lorg/apache/http/impl/conn/SingleClientConnManager;->closeExpiredConnections()V
.line 6
iget-object p2, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->uniquePoolEntry:Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;
iget-object p2, p2, Lorg/apache/http/impl/conn/AbstractPoolEntry;->connection:Lorg/apache/http/conn/OperatedClientConnection;
invoke-interface {p2}, Lorg/apache/http/HttpConnection;->isOpen()Z
move-result p2
const/4 v0, 0x1
const/4 v1, 0x0
if-eqz p2, :cond_3
.line 7
iget-object p2, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->uniquePoolEntry:Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;
iget-object p2, p2, Lorg/apache/http/impl/conn/AbstractPoolEntry;->tracker:Lorg/apache/http/conn/routing/RouteTracker;
if-eqz p2, :cond_2
.line 8
invoke-virtual {p2}, Lorg/apache/http/conn/routing/RouteTracker;->toRoute()Lorg/apache/http/conn/routing/HttpRoute;
move-result-object p2
invoke-virtual {p2, p1}, Lorg/apache/http/conn/routing/HttpRoute;->equals(Ljava/lang/Object;)Z
move-result p2
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-nez p2, :cond_1
goto :goto_0
:cond_1
move p2, v1
goto :goto_1
:cond_2
:goto_0
move p2, v0
:goto_1
move v3, v1
move v1, p2
move p2, v3
goto :goto_2
:cond_3
move p2, v0
:goto_2
if-eqz v1, :cond_4
.line 9
:try_start_1
iget-object p2, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->uniquePoolEntry:Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;
invoke-virtual {p2}, Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;->shutdown()V
:try_end_1
.catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_0
.catchall {:try_start_1 .. :try_end_1} :catchall_0
goto :goto_3
:catch_0
move-exception p2
.line 10
:try_start_2
iget-object v1, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->log:Lorg/apache/commons/logging/Log;
const-string v2, "Problem shutting down connection."
invoke-interface {v1, v2, p2}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;Ljava/lang/Throwable;)V
goto :goto_3
:cond_4
move v0, p2
:goto_3
if-eqz v0, :cond_5
.line 11
new-instance p2, Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;
invoke-direct {p2, p0}, Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;-><init>(Lorg/apache/http/impl/conn/SingleClientConnManager;)V
iput-object p2, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->uniquePoolEntry:Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;
.line 12
:cond_5
new-instance p2, Lorg/apache/http/impl/conn/SingleClientConnManager$ConnAdapter;
iget-object v0, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->uniquePoolEntry:Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;
invoke-direct {p2, p0, v0, p1}, Lorg/apache/http/impl/conn/SingleClientConnManager$ConnAdapter;-><init>(Lorg/apache/http/impl/conn/SingleClientConnManager;Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;Lorg/apache/http/conn/routing/HttpRoute;)V
iput-object p2, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->managedConn:Lorg/apache/http/impl/conn/SingleClientConnManager$ConnAdapter;
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_0
.line 13
monitor-exit p0
return-object p2
.line 14
:cond_6
:try_start_3
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "Invalid use of SingleClientConnManager: connection still allocated.\nMake sure to release the connection before allocating another one."
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:catchall_0
move-exception p1
goto :goto_4
.line 15
:cond_7
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Route may not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_0
:goto_4
monitor-exit p0
throw p1
.end method
.method public getSchemeRegistry()Lorg/apache/http/conn/scheme/SchemeRegistry;
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry;
return-object v0
.end method
.method public declared-synchronized releaseConnection(Lorg/apache/http/conn/ManagedClientConnection;JLjava/util/concurrent/TimeUnit;)V
.locals 8
monitor-enter p0
.line 1
:try_start_0
invoke-virtual {p0}, Lorg/apache/http/impl/conn/SingleClientConnManager;->assertStillUp()V
.line 2
instance-of v0, p1, Lorg/apache/http/impl/conn/SingleClientConnManager$ConnAdapter;
if-eqz v0, :cond_a
.line 3
iget-object v0, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->log:Lorg/apache/commons/logging/Log;
invoke-interface {v0}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result v0
if-eqz v0, :cond_0
.line 4
iget-object v0, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->log:Lorg/apache/commons/logging/Log;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Releasing connection "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
.line 5
:cond_0
check-cast p1, Lorg/apache/http/impl/conn/SingleClientConnManager$ConnAdapter;
.line 6
iget-object v0, p1, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->poolEntry:Lorg/apache/http/impl/conn/AbstractPoolEntry;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_1
if-nez v0, :cond_1
.line 7
monitor-exit p0
return-void
.line 8
:cond_1
:try_start_1
invoke-virtual {p1}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getManager()Lorg/apache/http/conn/ClientConnectionManager;
move-result-object v0
if-eqz v0, :cond_3
if-ne v0, p0, :cond_2
goto :goto_0
.line 9
:cond_2
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Connection not obtained from this manager."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_1
:cond_3
:goto_0
const-wide v0, 0x7fffffffffffffffL
const-wide/16 v2, 0x0
const/4 v4, 0x0
.line 10
:try_start_2
invoke-virtual {p1}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->isOpen()Z
move-result v5
if-eqz v5, :cond_6
iget-boolean v5, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->alwaysShutDown:Z
if-nez v5, :cond_4
invoke-virtual {p1}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->isMarkedReusable()Z
move-result v5
if-nez v5, :cond_6
.line 11
:cond_4
iget-object v5, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->log:Lorg/apache/commons/logging/Log;
invoke-interface {v5}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result v5
if-eqz v5, :cond_5
.line 12
iget-object v5, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->log:Lorg/apache/commons/logging/Log;
const-string v6, "Released connection open but not reusable."
invoke-interface {v5, v6}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
.line 13
:cond_5
invoke-virtual {p1}, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->shutdown()V
:try_end_2
.catch Ljava/io/IOException; {:try_start_2 .. :try_end_2} :catch_0
.catchall {:try_start_2 .. :try_end_2} :catchall_0
.line 14
:cond_6
:try_start_3
invoke-virtual {p1}, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->detach()V
.line 15
iput-object v4, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->managedConn:Lorg/apache/http/impl/conn/SingleClientConnManager$ConnAdapter;
.line 16
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
iput-wide v4, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->lastReleaseTime:J
cmp-long p1, p2, v2
if-lez p1, :cond_7
.line 17
invoke-virtual {p4, p2, p3}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide p1
iget-wide p3, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->lastReleaseTime:J
:goto_1
add-long/2addr p1, p3
iput-wide p1, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->connectionExpiresTime:J
goto :goto_2
.line 18
:cond_7
iput-wide v0, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->connectionExpiresTime:J
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_1
goto :goto_2
:catchall_0
move-exception v5
goto :goto_3
:catch_0
move-exception v5
.line 19
:try_start_4
iget-object v6, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->log:Lorg/apache/commons/logging/Log;
invoke-interface {v6}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result v6
if-eqz v6, :cond_8
.line 20
iget-object v6, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->log:Lorg/apache/commons/logging/Log;
const-string v7, "Exception shutting down released connection."
invoke-interface {v6, v7, v5}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;Ljava/lang/Throwable;)V
:try_end_4
.catchall {:try_start_4 .. :try_end_4} :catchall_0
.line 21
:cond_8
:try_start_5
invoke-virtual {p1}, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->detach()V
.line 22
iput-object v4, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->managedConn:Lorg/apache/http/impl/conn/SingleClientConnManager$ConnAdapter;
.line 23
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
iput-wide v4, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->lastReleaseTime:J
cmp-long p1, p2, v2
if-lez p1, :cond_7
.line 24
invoke-virtual {p4, p2, p3}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide p1
iget-wide p3, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->lastReleaseTime:J
:try_end_5
.catchall {:try_start_5 .. :try_end_5} :catchall_1
goto :goto_1
.line 25
:goto_2
monitor-exit p0
return-void
.line 26
:goto_3
:try_start_6
invoke-virtual {p1}, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->detach()V
.line 27
iput-object v4, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->managedConn:Lorg/apache/http/impl/conn/SingleClientConnManager$ConnAdapter;
.line 28
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v6
iput-wide v6, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->lastReleaseTime:J
cmp-long p1, p2, v2
if-lez p1, :cond_9
.line 29
invoke-virtual {p4, p2, p3}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide p1
iget-wide p3, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->lastReleaseTime:J
add-long/2addr p1, p3
iput-wide p1, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->connectionExpiresTime:J
goto :goto_4
.line 30
:cond_9
iput-wide v0, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->connectionExpiresTime:J
:goto_4
throw v5
.line 31
:cond_a
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Connection class mismatch, connection not obtained from this manager."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
:try_end_6
.catchall {:try_start_6 .. :try_end_6} :catchall_1
:catchall_1
move-exception p1
monitor-exit p0
throw p1
.end method
.method public final requestConnection(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Lorg/apache/http/conn/ClientConnectionRequest;
.locals 1
.line 1
new-instance v0, Lorg/apache/http/impl/conn/SingleClientConnManager$1;
invoke-direct {v0, p0, p1, p2}, Lorg/apache/http/impl/conn/SingleClientConnManager$1;-><init>(Lorg/apache/http/impl/conn/SingleClientConnManager;Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)V
return-object v0
.end method
.method public declared-synchronized revokeConnection()V
.locals 3
.annotation runtime Ljava/lang/Deprecated;
.end annotation
monitor-enter p0
.line 1
:try_start_0
iget-object v0, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->managedConn:Lorg/apache/http/impl/conn/SingleClientConnManager$ConnAdapter;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-nez v0, :cond_0
.line 2
monitor-exit p0
return-void
.line 3
:cond_0
:try_start_1
invoke-virtual {v0}, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->detach()V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 4
:try_start_2
iget-object v0, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->uniquePoolEntry:Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;
invoke-virtual {v0}, Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;->shutdown()V
:try_end_2
.catch Ljava/io/IOException; {:try_start_2 .. :try_end_2} :catch_0
.catchall {:try_start_2 .. :try_end_2} :catchall_0
goto :goto_0
:catch_0
move-exception v0
.line 5
:try_start_3
iget-object v1, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->log:Lorg/apache/commons/logging/Log;
const-string v2, "Problem while shutting down connection."
invoke-interface {v1, v2, v0}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;Ljava/lang/Throwable;)V
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_0
.line 6
:goto_0
monitor-exit p0
return-void
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized shutdown()V
.locals 4
monitor-enter p0
const/4 v0, 0x1
.line 1
:try_start_0
iput-boolean v0, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->isShutDown:Z
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->managedConn:Lorg/apache/http/impl/conn/SingleClientConnManager$ConnAdapter;
if-eqz v0, :cond_0
.line 3
invoke-virtual {v0}, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->detach()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_1
:cond_0
const/4 v0, 0x0
.line 4
:try_start_1
iget-object v1, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->uniquePoolEntry:Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;
if-eqz v1, :cond_1
.line 5
invoke-virtual {v1}, Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;->shutdown()V
:try_end_1
.catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_0
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 6
:cond_1
:goto_0
:try_start_2
iput-object v0, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->uniquePoolEntry:Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_1
goto :goto_1
:catchall_0
move-exception v1
goto :goto_2
:catch_0
move-exception v1
.line 7
:try_start_3
iget-object v2, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->log:Lorg/apache/commons/logging/Log;
const-string v3, "Problem while shutting down manager."
invoke-interface {v2, v3, v1}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;Ljava/lang/Throwable;)V
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_0
goto :goto_0
.line 8
:goto_1
monitor-exit p0
return-void
.line 9
:goto_2
:try_start_4
iput-object v0, p0, Lorg/apache/http/impl/conn/SingleClientConnManager;->uniquePoolEntry:Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;
throw v1
:try_end_4
.catchall {:try_start_4 .. :try_end_4} :catchall_1
:catchall_1
move-exception v0
monitor-exit p0
throw v0
.end method
@@ -0,0 +1,473 @@
.class public Lorg/apache/http/impl/conn/Wire;
.super Ljava/lang/Object;
.source "Wire.java"
# annotations
.annotation build Lorg/apache/http/annotation/Immutable;
.end annotation
# instance fields
.field private final log:Lorg/apache/commons/logging/Log;
# direct methods
.method public constructor <init>(Lorg/apache/commons/logging/Log;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lorg/apache/http/impl/conn/Wire;->log:Lorg/apache/commons/logging/Log;
return-void
.end method
.method private wire(Ljava/lang/String;Ljava/io/InputStream;)V
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 2
:goto_0
invoke-virtual {p2}, Ljava/io/InputStream;->read()I
move-result v1
const/4 v2, -0x1
const/4 v3, 0x0
if-eq v1, v2, :cond_4
const/16 v2, 0xd
if-ne v1, v2, :cond_0
const-string v1, "[\\r]"
.line 3
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_0
:cond_0
const/16 v2, 0xa
if-ne v1, v2, :cond_1
const-string v1, "[\\n]\""
.line 4
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "\""
.line 5
invoke-virtual {v0, v3, v1}, Ljava/lang/StringBuilder;->insert(ILjava/lang/String;)Ljava/lang/StringBuilder;
.line 6
invoke-virtual {v0, v3, p1}, Ljava/lang/StringBuilder;->insert(ILjava/lang/String;)Ljava/lang/StringBuilder;
.line 7
iget-object v1, p0, Lorg/apache/http/impl/conn/Wire;->log:Lorg/apache/commons/logging/Log;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-interface {v1, v2}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
.line 8
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->setLength(I)V
goto :goto_0
:cond_1
const/16 v2, 0x20
if-lt v1, v2, :cond_3
const/16 v2, 0x7f
if-le v1, v2, :cond_2
goto :goto_1
:cond_2
int-to-char v1, v1
.line 9
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_0
:cond_3
:goto_1
const-string v2, "[0x"
.line 10
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 11
invoke-static {v1}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "]"
.line 12
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_0
.line 13
:cond_4
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result p2
if-lez p2, :cond_5
const/16 p2, 0x22
.line 14
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 15
invoke-virtual {v0, v3, p2}, Ljava/lang/StringBuilder;->insert(IC)Ljava/lang/StringBuilder;
.line 16
invoke-virtual {v0, v3, p1}, Ljava/lang/StringBuilder;->insert(ILjava/lang/String;)Ljava/lang/StringBuilder;
.line 17
iget-object p1, p0, Lorg/apache/http/impl/conn/Wire;->log:Lorg/apache/commons/logging/Log;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-interface {p1, p2}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
:cond_5
return-void
.end method
# virtual methods
.method public enabled()Z
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/Wire;->log:Lorg/apache/commons/logging/Log;
invoke-interface {v0}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result v0
return v0
.end method
.method public input(I)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x1
new-array v0, v0, [B
int-to-byte p1, p1
const/4 v1, 0x0
aput-byte p1, v0, v1
.line 7
invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/Wire;->input([B)V
return-void
.end method
.method public input(Ljava/io/InputStream;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-eqz p1, :cond_0
const-string v0, "<< "
.line 1
invoke-direct {p0, v0, p1}, Lorg/apache/http/impl/conn/Wire;->wire(Ljava/lang/String;Ljava/io/InputStream;)V
return-void
.line 2
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Input may not be null"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public input(Ljava/lang/String;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-eqz p1, :cond_0
.line 8
invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B
move-result-object p1
invoke-virtual {p0, p1}, Lorg/apache/http/impl/conn/Wire;->input([B)V
return-void
.line 9
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Input may not be null"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public input([B)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-eqz p1, :cond_0
.line 5
new-instance v0, Ljava/io/ByteArrayInputStream;
invoke-direct {v0, p1}, Ljava/io/ByteArrayInputStream;-><init>([B)V
const-string p1, "<< "
invoke-direct {p0, p1, v0}, Lorg/apache/http/impl/conn/Wire;->wire(Ljava/lang/String;Ljava/io/InputStream;)V
return-void
.line 6
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Input may not be null"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public input([BII)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-eqz p1, :cond_0
.line 3
new-instance v0, Ljava/io/ByteArrayInputStream;
invoke-direct {v0, p1, p2, p3}, Ljava/io/ByteArrayInputStream;-><init>([BII)V
const-string p1, "<< "
invoke-direct {p0, p1, v0}, Lorg/apache/http/impl/conn/Wire;->wire(Ljava/lang/String;Ljava/io/InputStream;)V
return-void
.line 4
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Input may not be null"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public output(I)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x1
new-array v0, v0, [B
int-to-byte p1, p1
const/4 v1, 0x0
aput-byte p1, v0, v1
.line 7
invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/Wire;->output([B)V
return-void
.end method
.method public output(Ljava/io/InputStream;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-eqz p1, :cond_0
const-string v0, ">> "
.line 1
invoke-direct {p0, v0, p1}, Lorg/apache/http/impl/conn/Wire;->wire(Ljava/lang/String;Ljava/io/InputStream;)V
return-void
.line 2
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Output may not be null"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public output(Ljava/lang/String;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-eqz p1, :cond_0
.line 8
invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B
move-result-object p1
invoke-virtual {p0, p1}, Lorg/apache/http/impl/conn/Wire;->output([B)V
return-void
.line 9
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Output may not be null"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public output([B)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-eqz p1, :cond_0
.line 5
new-instance v0, Ljava/io/ByteArrayInputStream;
invoke-direct {v0, p1}, Ljava/io/ByteArrayInputStream;-><init>([B)V
const-string p1, ">> "
invoke-direct {p0, p1, v0}, Lorg/apache/http/impl/conn/Wire;->wire(Ljava/lang/String;Ljava/io/InputStream;)V
return-void
.line 6
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Output may not be null"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public output([BII)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-eqz p1, :cond_0
.line 3
new-instance v0, Ljava/io/ByteArrayInputStream;
invoke-direct {v0, p1, p2, p3}, Ljava/io/ByteArrayInputStream;-><init>([BII)V
const-string p1, ">> "
invoke-direct {p0, p1, v0}, Lorg/apache/http/impl/conn/Wire;->wire(Ljava/lang/String;Ljava/io/InputStream;)V
return-void
.line 4
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Output may not be null"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
@@ -0,0 +1,382 @@
.class public abstract Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;
.super Ljava/lang/Object;
.source "AbstractConnPool.java"
# interfaces
.implements Lorg/apache/http/impl/conn/tsccm/RefQueueHandler;
# annotations
.annotation build Lorg/apache/http/annotation/ThreadSafe;
.end annotation
# instance fields
.field public idleConnHandler:Lorg/apache/http/impl/conn/IdleConnectionHandler;
.annotation build Lorg/apache/http/annotation/GuardedBy;
value = "poolLock"
.end annotation
.end field
.field public volatile isShutDown:Z
.field public issuedConnections:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Lorg/apache/http/impl/conn/tsccm/BasicPoolEntryRef;",
">;"
}
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.end field
.field public leasedConnections:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;",
">;"
}
.end annotation
.annotation build Lorg/apache/http/annotation/GuardedBy;
value = "poolLock"
.end annotation
.end field
.field private final log:Lorg/apache/commons/logging/Log;
.field public numConnections:I
.annotation build Lorg/apache/http/annotation/GuardedBy;
value = "poolLock"
.end annotation
.end field
.field public final poolLock:Ljava/util/concurrent/locks/Lock;
.field public refQueue:Ljava/lang/ref/ReferenceQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ref/ReferenceQueue<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.locals 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->getLog(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
move-result-object v0
iput-object v0, p0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->log:Lorg/apache/commons/logging/Log;
.line 3
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
iput-object v0, p0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->leasedConnections:Ljava/util/Set;
.line 4
new-instance v0, Lorg/apache/http/impl/conn/IdleConnectionHandler;
invoke-direct {v0}, Lorg/apache/http/impl/conn/IdleConnectionHandler;-><init>()V
iput-object v0, p0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->idleConnHandler:Lorg/apache/http/impl/conn/IdleConnectionHandler;
.line 5
new-instance v0, Ljava/util/concurrent/locks/ReentrantLock;
const/4 v1, 0x0
invoke-direct {v0, v1}, Ljava/util/concurrent/locks/ReentrantLock;-><init>(Z)V
iput-object v0, p0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->poolLock:Ljava/util/concurrent/locks/Lock;
return-void
.end method
# virtual methods
.method public closeConnection(Lorg/apache/http/conn/OperatedClientConnection;)V
.locals 2
if-eqz p1, :cond_0
.line 1
:try_start_0
invoke-interface {p1}, Lorg/apache/http/HttpConnection;->close()V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception p1
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->log:Lorg/apache/commons/logging/Log;
const-string v1, "I/O error closing connection"
invoke-interface {v0, v1, p1}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;Ljava/lang/Throwable;)V
:cond_0
:goto_0
return-void
.end method
.method public closeExpiredConnections()V
.locals 2
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->poolLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 2
:try_start_0
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->idleConnHandler:Lorg/apache/http/impl/conn/IdleConnectionHandler;
invoke-virtual {v0}, Lorg/apache/http/impl/conn/IdleConnectionHandler;->closeExpiredConnections()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->poolLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-void
:catchall_0
move-exception v0
iget-object v1, p0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->poolLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw v0
.end method
.method public closeIdleConnections(JLjava/util/concurrent/TimeUnit;)V
.locals 1
if-eqz p3, :cond_0
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->poolLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 2
:try_start_0
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->idleConnHandler:Lorg/apache/http/impl/conn/IdleConnectionHandler;
invoke-virtual {p3, p1, p2}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide p1
invoke-virtual {v0, p1, p2}, Lorg/apache/http/impl/conn/IdleConnectionHandler;->closeIdleConnections(J)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
iget-object p1, p0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->poolLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {p1}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-void
:catchall_0
move-exception p1
iget-object p2, p0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->poolLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {p2}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw p1
.line 4
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Time unit must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public abstract deleteClosedConnections()V
.end method
.method public enableConnectionGC()V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/IllegalStateException;
}
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
return-void
.end method
.method public abstract freeEntry(Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;ZJLjava/util/concurrent/TimeUnit;)V
.end method
.method public final getEntry(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/apache/http/conn/ConnectionPoolTimeoutException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 1
invoke-virtual {p0, p1, p2}, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->requestPoolEntry(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Lorg/apache/http/impl/conn/tsccm/PoolEntryRequest;
move-result-object p1
invoke-interface {p1, p3, p4, p5}, Lorg/apache/http/impl/conn/tsccm/PoolEntryRequest;->getPoolEntry(JLjava/util/concurrent/TimeUnit;)Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;
move-result-object p1
return-object p1
.end method
.method public abstract handleLostEntry(Lorg/apache/http/conn/routing/HttpRoute;)V
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.end method
.method public handleReference(Ljava/lang/ref/Reference;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/ref/Reference<",
"*>;)V"
}
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
return-void
.end method
.method public abstract requestPoolEntry(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Lorg/apache/http/impl/conn/tsccm/PoolEntryRequest;
.end method
.method public shutdown()V
.locals 2
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->poolLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 2
:try_start_0
iget-boolean v0, p0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->isShutDown:Z
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz v0, :cond_0
.line 3
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->poolLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-void
.line 4
:cond_0
:try_start_1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->leasedConnections:Ljava/util/Set;
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
.line 5
:goto_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1
.line 6
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;
.line 7
invoke-interface {v0}, Ljava/util/Iterator;->remove()V
.line 8
invoke-virtual {v1}, Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;->getConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object v1
invoke-virtual {p0, v1}, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->closeConnection(Lorg/apache/http/conn/OperatedClientConnection;)V
goto :goto_0
.line 9
:cond_1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->idleConnHandler:Lorg/apache/http/impl/conn/IdleConnectionHandler;
invoke-virtual {v0}, Lorg/apache/http/impl/conn/IdleConnectionHandler;->removeAll()V
const/4 v0, 0x1
.line 10
iput-boolean v0, p0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->isShutDown:Z
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 11
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->poolLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-void
:catchall_0
move-exception v0
iget-object v1, p0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->poolLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw v0
.end method
@@ -0,0 +1,99 @@
.class public Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;
.super Lorg/apache/http/impl/conn/AbstractPoolEntry;
.source "BasicPoolEntry.java"
# direct methods
.method public constructor <init>(Lorg/apache/http/conn/ClientConnectionOperator;Lorg/apache/http/conn/routing/HttpRoute;)V
.locals 0
.line 3
invoke-direct {p0, p1, p2}, Lorg/apache/http/impl/conn/AbstractPoolEntry;-><init>(Lorg/apache/http/conn/ClientConnectionOperator;Lorg/apache/http/conn/routing/HttpRoute;)V
if-eqz p2, :cond_0
return-void
.line 4
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "HTTP route may not be null"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public constructor <init>(Lorg/apache/http/conn/ClientConnectionOperator;Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/ref/ReferenceQueue;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/apache/http/conn/ClientConnectionOperator;",
"Lorg/apache/http/conn/routing/HttpRoute;",
"Ljava/lang/ref/ReferenceQueue<",
"Ljava/lang/Object;",
">;)V"
}
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Lorg/apache/http/impl/conn/AbstractPoolEntry;-><init>(Lorg/apache/http/conn/ClientConnectionOperator;Lorg/apache/http/conn/routing/HttpRoute;)V
if-eqz p2, :cond_0
return-void
.line 2
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "HTTP route may not be null"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
# virtual methods
.method public final getConnection()Lorg/apache/http/conn/OperatedClientConnection;
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->connection:Lorg/apache/http/conn/OperatedClientConnection;
return-object v0
.end method
.method public final getPlannedRoute()Lorg/apache/http/conn/routing/HttpRoute;
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPoolEntry;->route:Lorg/apache/http/conn/routing/HttpRoute;
return-object v0
.end method
.method public final getWeakRef()Lorg/apache/http/impl/conn/tsccm/BasicPoolEntryRef;
.locals 1
.annotation runtime Ljava/lang/Deprecated;
.end annotation
const/4 v0, 0x0
return-object v0
.end method
.method public shutdownEntry()V
.locals 0
.line 1
invoke-super {p0}, Lorg/apache/http/impl/conn/AbstractPoolEntry;->shutdownEntry()V
return-void
.end method
@@ -0,0 +1,70 @@
.class public Lorg/apache/http/impl/conn/tsccm/BasicPoolEntryRef;
.super Ljava/lang/ref/WeakReference;
.source "BasicPoolEntryRef.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ref/WeakReference<",
"Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;",
">;"
}
.end annotation
.annotation build Lorg/apache/http/annotation/Immutable;
.end annotation
# instance fields
.field private final route:Lorg/apache/http/conn/routing/HttpRoute;
# direct methods
.method public constructor <init>(Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;Ljava/lang/ref/ReferenceQueue;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;",
"Ljava/lang/ref/ReferenceQueue<",
"Ljava/lang/Object;",
">;)V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
if-eqz p1, :cond_0
.line 2
invoke-virtual {p1}, Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;->getPlannedRoute()Lorg/apache/http/conn/routing/HttpRoute;
move-result-object p1
iput-object p1, p0, Lorg/apache/http/impl/conn/tsccm/BasicPoolEntryRef;->route:Lorg/apache/http/conn/routing/HttpRoute;
return-void
.line 3
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Pool entry must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
# virtual methods
.method public final getRoute()Lorg/apache/http/conn/routing/HttpRoute;
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/BasicPoolEntryRef;->route:Lorg/apache/http/conn/routing/HttpRoute;
return-object v0
.end method
@@ -0,0 +1,48 @@
.class public Lorg/apache/http/impl/conn/tsccm/BasicPooledConnAdapter;
.super Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;
.source "BasicPooledConnAdapter.java"
# direct methods
.method public constructor <init>(Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;Lorg/apache/http/impl/conn/AbstractPoolEntry;)V
.locals 0
.line 1
invoke-direct {p0, p1, p2}, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;-><init>(Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/impl/conn/AbstractPoolEntry;)V
.line 2
invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->markReusable()V
return-void
.end method
# virtual methods
.method public detach()V
.locals 0
.line 1
invoke-super {p0}, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->detach()V
return-void
.end method
.method public getManager()Lorg/apache/http/conn/ClientConnectionManager;
.locals 1
.line 1
invoke-super {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getManager()Lorg/apache/http/conn/ClientConnectionManager;
move-result-object v0
return-object v0
.end method
.method public getPoolEntry()Lorg/apache/http/impl/conn/AbstractPoolEntry;
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->poolEntry:Lorg/apache/http/impl/conn/AbstractPoolEntry;
return-object v0
.end method
@@ -0,0 +1,116 @@
.class Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute$1;
.super Ljava/lang/Object;
.source "ConnPoolByRoute.java"
# interfaces
.implements Lorg/apache/http/impl/conn/tsccm/PoolEntryRequest;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute;->requestPoolEntry(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Lorg/apache/http/impl/conn/tsccm/PoolEntryRequest;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute;
.field public final synthetic val$aborter:Lorg/apache/http/impl/conn/tsccm/WaitingThreadAborter;
.field public final synthetic val$route:Lorg/apache/http/conn/routing/HttpRoute;
.field public final synthetic val$state:Ljava/lang/Object;
# direct methods
.method public constructor <init>(Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute;Lorg/apache/http/impl/conn/tsccm/WaitingThreadAborter;Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)V
.locals 0
.line 1
iput-object p1, p0, Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute$1;->this$0:Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute;
iput-object p2, p0, Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute$1;->val$aborter:Lorg/apache/http/impl/conn/tsccm/WaitingThreadAborter;
iput-object p3, p0, Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute$1;->val$route:Lorg/apache/http/conn/routing/HttpRoute;
iput-object p4, p0, Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute$1;->val$state:Ljava/lang/Object;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public abortRequest()V
.locals 2
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute$1;->this$0:Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute;
iget-object v0, v0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->poolLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 2
:try_start_0
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute$1;->val$aborter:Lorg/apache/http/impl/conn/tsccm/WaitingThreadAborter;
invoke-virtual {v0}, Lorg/apache/http/impl/conn/tsccm/WaitingThreadAborter;->abort()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute$1;->this$0:Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute;
iget-object v0, v0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->poolLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-void
:catchall_0
move-exception v0
iget-object v1, p0, Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute$1;->this$0:Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute;
iget-object v1, v1, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->poolLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw v0
.end method
.method public getPoolEntry(JLjava/util/concurrent/TimeUnit;)Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;
.locals 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InterruptedException;,
Lorg/apache/http/conn/ConnectionPoolTimeoutException;
}
.end annotation
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute$1;->this$0:Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute;
iget-object v1, p0, Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute$1;->val$route:Lorg/apache/http/conn/routing/HttpRoute;
iget-object v2, p0, Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute$1;->val$state:Ljava/lang/Object;
iget-object v6, p0, Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute$1;->val$aborter:Lorg/apache/http/impl/conn/tsccm/WaitingThreadAborter;
move-wide v3, p1
move-object v5, p3
invoke-virtual/range {v0 .. v6}, Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute;->getEntryBlocking(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;Lorg/apache/http/impl/conn/tsccm/WaitingThreadAborter;)Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;
move-result-object p1
return-object p1
.end method
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,17 @@
.class public interface abstract Lorg/apache/http/impl/conn/tsccm/PoolEntryRequest;
.super Ljava/lang/Object;
.source "PoolEntryRequest.java"
# virtual methods
.method public abstract abortRequest()V
.end method
.method public abstract getPoolEntry(JLjava/util/concurrent/TimeUnit;)Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InterruptedException;,
Lorg/apache/http/conn/ConnectionPoolTimeoutException;
}
.end annotation
.end method
@@ -0,0 +1,20 @@
.class public interface abstract Lorg/apache/http/impl/conn/tsccm/RefQueueHandler;
.super Ljava/lang/Object;
.source "RefQueueHandler.java"
# annotations
.annotation runtime Ljava/lang/Deprecated;
.end annotation
# virtual methods
.method public abstract handleReference(Ljava/lang/ref/Reference;)V
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/ref/Reference<",
"*>;)V"
}
.end annotation
.end method
@@ -0,0 +1,167 @@
.class public Lorg/apache/http/impl/conn/tsccm/RefQueueWorker;
.super Ljava/lang/Object;
.source "RefQueueWorker.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation runtime Ljava/lang/Deprecated;
.end annotation
# instance fields
.field public final refHandler:Lorg/apache/http/impl/conn/tsccm/RefQueueHandler;
.field public final refQueue:Ljava/lang/ref/ReferenceQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ref/ReferenceQueue<",
"*>;"
}
.end annotation
.end field
.field public volatile workerThread:Ljava/lang/Thread;
# direct methods
.method public constructor <init>(Ljava/lang/ref/ReferenceQueue;Lorg/apache/http/impl/conn/tsccm/RefQueueHandler;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/ref/ReferenceQueue<",
"*>;",
"Lorg/apache/http/impl/conn/tsccm/RefQueueHandler;",
")V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
if-eqz p1, :cond_1
if-eqz p2, :cond_0
.line 2
iput-object p1, p0, Lorg/apache/http/impl/conn/tsccm/RefQueueWorker;->refQueue:Ljava/lang/ref/ReferenceQueue;
.line 3
iput-object p2, p0, Lorg/apache/http/impl/conn/tsccm/RefQueueWorker;->refHandler:Lorg/apache/http/impl/conn/tsccm/RefQueueHandler;
return-void
.line 4
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Handler must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 5
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Queue must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
# virtual methods
.method public run()V
.locals 2
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/RefQueueWorker;->workerThread:Ljava/lang/Thread;
if-nez v0, :cond_0
.line 2
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v0
iput-object v0, p0, Lorg/apache/http/impl/conn/tsccm/RefQueueWorker;->workerThread:Ljava/lang/Thread;
.line 3
:catch_0
:cond_0
:goto_0
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/RefQueueWorker;->workerThread:Ljava/lang/Thread;
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v1
if-ne v0, v1, :cond_1
.line 4
:try_start_0
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/RefQueueWorker;->refQueue:Ljava/lang/ref/ReferenceQueue;
invoke-virtual {v0}, Ljava/lang/ref/ReferenceQueue;->remove()Ljava/lang/ref/Reference;
move-result-object v0
.line 5
iget-object v1, p0, Lorg/apache/http/impl/conn/tsccm/RefQueueWorker;->refHandler:Lorg/apache/http/impl/conn/tsccm/RefQueueHandler;
invoke-interface {v1, v0}, Lorg/apache/http/impl/conn/tsccm/RefQueueHandler;->handleReference(Ljava/lang/ref/Reference;)V
:try_end_0
.catch Ljava/lang/InterruptedException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:cond_1
return-void
.end method
.method public shutdown()V
.locals 2
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/RefQueueWorker;->workerThread:Ljava/lang/Thread;
if-eqz v0, :cond_0
const/4 v1, 0x0
.line 2
iput-object v1, p0, Lorg/apache/http/impl/conn/tsccm/RefQueueWorker;->workerThread:Ljava/lang/Thread;
.line 3
invoke-virtual {v0}, Ljava/lang/Thread;->interrupt()V
:cond_0
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 2
const-string v0, "RefQueueWorker::"
.line 1
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lorg/apache/http/impl/conn/tsccm/RefQueueWorker;->workerThread:Ljava/lang/Thread;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,524 @@
.class public Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;
.super Ljava/lang/Object;
.source "RouteSpecificPool.java"
# annotations
.annotation build Lorg/apache/http/annotation/NotThreadSafe;
.end annotation
# instance fields
.field public final freeEntries:Ljava/util/LinkedList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/LinkedList<",
"Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;",
">;"
}
.end annotation
.end field
.field private final log:Lorg/apache/commons/logging/Log;
.field public final maxEntries:I
.field public numEntries:I
.field public final route:Lorg/apache/http/conn/routing/HttpRoute;
.field public final waitingThreads:Ljava/util/Queue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Queue<",
"Lorg/apache/http/impl/conn/tsccm/WaitingThread;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lorg/apache/http/conn/routing/HttpRoute;I)V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->getLog(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
move-result-object v0
iput-object v0, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->log:Lorg/apache/commons/logging/Log;
.line 3
iput-object p1, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->route:Lorg/apache/http/conn/routing/HttpRoute;
.line 4
iput p2, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->maxEntries:I
.line 5
new-instance p1, Ljava/util/LinkedList;
invoke-direct {p1}, Ljava/util/LinkedList;-><init>()V
iput-object p1, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->freeEntries:Ljava/util/LinkedList;
.line 6
new-instance p1, Ljava/util/LinkedList;
invoke-direct {p1}, Ljava/util/LinkedList;-><init>()V
iput-object p1, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->waitingThreads:Ljava/util/Queue;
const/4 p1, 0x0
.line 7
iput p1, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->numEntries:I
return-void
.end method
# virtual methods
.method public allocEntry(Ljava/lang/Object;)Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;
.locals 3
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->freeEntries:Ljava/util/LinkedList;
invoke-virtual {v0}, Ljava/util/LinkedList;->isEmpty()Z
move-result v0
if-nez v0, :cond_2
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->freeEntries:Ljava/util/LinkedList;
invoke-virtual {v0}, Ljava/util/LinkedList;->size()I
move-result v1
invoke-virtual {v0, v1}, Ljava/util/LinkedList;->listIterator(I)Ljava/util/ListIterator;
move-result-object v0
.line 3
:cond_0
invoke-interface {v0}, Ljava/util/ListIterator;->hasPrevious()Z
move-result v1
if-eqz v1, :cond_2
.line 4
invoke-interface {v0}, Ljava/util/ListIterator;->previous()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;
.line 5
invoke-virtual {v1}, Lorg/apache/http/impl/conn/AbstractPoolEntry;->getState()Ljava/lang/Object;
move-result-object v2
if-eqz v2, :cond_1
invoke-virtual {v1}, Lorg/apache/http/impl/conn/AbstractPoolEntry;->getState()Ljava/lang/Object;
move-result-object v2
invoke-static {p1, v2}, Lorg/apache/http/util/LangUtils;->equals(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
.line 6
:cond_1
invoke-interface {v0}, Ljava/util/ListIterator;->remove()V
return-object v1
.line 7
:cond_2
invoke-virtual {p0}, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->getCapacity()I
move-result p1
if-nez p1, :cond_3
iget-object p1, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->freeEntries:Ljava/util/LinkedList;
invoke-virtual {p1}, Ljava/util/LinkedList;->isEmpty()Z
move-result p1
if-nez p1, :cond_3
.line 8
iget-object p1, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->freeEntries:Ljava/util/LinkedList;
invoke-virtual {p1}, Ljava/util/LinkedList;->remove()Ljava/lang/Object;
move-result-object p1
check-cast p1, Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;
.line 9
invoke-virtual {p1}, Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;->shutdownEntry()V
.line 10
invoke-virtual {p1}, Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;->getConnection()Lorg/apache/http/conn/OperatedClientConnection;
move-result-object v0
.line 11
:try_start_0
invoke-interface {v0}, Lorg/apache/http/HttpConnection;->close()V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception v0
.line 12
iget-object v1, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->log:Lorg/apache/commons/logging/Log;
const-string v2, "I/O error closing connection"
invoke-interface {v1, v2, v0}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;Ljava/lang/Throwable;)V
:goto_0
return-object p1
:cond_3
const/4 p1, 0x0
return-object p1
.end method
.method public createdEntry(Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;)V
.locals 3
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->route:Lorg/apache/http/conn/routing/HttpRoute;
invoke-virtual {p1}, Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;->getPlannedRoute()Lorg/apache/http/conn/routing/HttpRoute;
move-result-object v1
invoke-virtual {v0, v1}, Lorg/apache/http/conn/routing/HttpRoute;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
.line 2
iget p1, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->numEntries:I
add-int/lit8 p1, p1, 0x1
iput p1, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->numEntries:I
return-void
.line 3
:cond_0
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "Entry not planned for this pool.\npool: "
invoke-static {v1}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget-object v2, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->route:Lorg/apache/http/conn/routing/HttpRoute;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, "\nplan: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;->getPlannedRoute()Lorg/apache/http/conn/routing/HttpRoute;
move-result-object p1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public deleteEntry(Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;)Z
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->freeEntries:Ljava/util/LinkedList;
invoke-virtual {v0, p1}, Ljava/util/LinkedList;->remove(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_0
.line 2
iget v0, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->numEntries:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->numEntries:I
:cond_0
return p1
.end method
.method public dropEntry()V
.locals 2
.line 1
iget v0, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->numEntries:I
const/4 v1, 0x1
if-lt v0, v1, :cond_0
sub-int/2addr v0, v1
.line 2
iput v0, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->numEntries:I
return-void
.line 3
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "There is no entry that could be dropped."
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public freeEntry(Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;)V
.locals 2
.line 1
iget v0, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->numEntries:I
const/4 v1, 0x1
if-lt v0, v1, :cond_1
.line 2
iget-object v1, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->freeEntries:Ljava/util/LinkedList;
invoke-virtual {v1}, Ljava/util/LinkedList;->size()I
move-result v1
if-le v0, v1, :cond_0
.line 3
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->freeEntries:Ljava/util/LinkedList;
invoke-virtual {v0, p1}, Ljava/util/LinkedList;->add(Ljava/lang/Object;)Z
return-void
.line 4
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "No entry allocated from this pool. "
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->route:Lorg/apache/http/conn/routing/HttpRoute;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 5
:cond_1
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "No entry created for this pool. "
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->route:Lorg/apache/http/conn/routing/HttpRoute;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public getCapacity()I
.locals 2
.line 1
iget v0, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->maxEntries:I
iget v1, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->numEntries:I
sub-int/2addr v0, v1
return v0
.end method
.method public final getEntryCount()I
.locals 1
.line 1
iget v0, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->numEntries:I
return v0
.end method
.method public final getMaxEntries()I
.locals 1
.line 1
iget v0, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->maxEntries:I
return v0
.end method
.method public final getRoute()Lorg/apache/http/conn/routing/HttpRoute;
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->route:Lorg/apache/http/conn/routing/HttpRoute;
return-object v0
.end method
.method public hasThread()Z
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->waitingThreads:Ljava/util/Queue;
invoke-interface {v0}, Ljava/util/Queue;->isEmpty()Z
move-result v0
xor-int/lit8 v0, v0, 0x1
return v0
.end method
.method public isUnused()Z
.locals 2
.line 1
iget v0, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->numEntries:I
const/4 v1, 0x1
if-ge v0, v1, :cond_0
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->waitingThreads:Ljava/util/Queue;
invoke-interface {v0}, Ljava/util/Queue;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
goto :goto_0
:cond_0
const/4 v1, 0x0
:goto_0
return v1
.end method
.method public nextThread()Lorg/apache/http/impl/conn/tsccm/WaitingThread;
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->waitingThreads:Ljava/util/Queue;
invoke-interface {v0}, Ljava/util/Queue;->peek()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lorg/apache/http/impl/conn/tsccm/WaitingThread;
return-object v0
.end method
.method public queueThread(Lorg/apache/http/impl/conn/tsccm/WaitingThread;)V
.locals 1
if-eqz p1, :cond_0
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->waitingThreads:Ljava/util/Queue;
invoke-interface {v0, p1}, Ljava/util/Queue;->add(Ljava/lang/Object;)Z
return-void
.line 2
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Waiting thread must not be null."
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public removeThread(Lorg/apache/http/impl/conn/tsccm/WaitingThread;)V
.locals 1
if-nez p1, :cond_0
return-void
.line 1
:cond_0
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;->waitingThreads:Ljava/util/Queue;
invoke-interface {v0, p1}, Ljava/util/Queue;->remove(Ljava/lang/Object;)Z
return-void
.end method
@@ -0,0 +1,139 @@
.class Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager$1;
.super Ljava/lang/Object;
.source "ThreadSafeClientConnManager.java"
# interfaces
.implements Lorg/apache/http/conn/ClientConnectionRequest;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->requestConnection(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Lorg/apache/http/conn/ClientConnectionRequest;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;
.field public final synthetic val$poolRequest:Lorg/apache/http/impl/conn/tsccm/PoolEntryRequest;
.field public final synthetic val$route:Lorg/apache/http/conn/routing/HttpRoute;
# direct methods
.method public constructor <init>(Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;Lorg/apache/http/impl/conn/tsccm/PoolEntryRequest;Lorg/apache/http/conn/routing/HttpRoute;)V
.locals 0
.line 1
iput-object p1, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager$1;->this$0:Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;
iput-object p2, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager$1;->val$poolRequest:Lorg/apache/http/impl/conn/tsccm/PoolEntryRequest;
iput-object p3, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager$1;->val$route:Lorg/apache/http/conn/routing/HttpRoute;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public abortRequest()V
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager$1;->val$poolRequest:Lorg/apache/http/impl/conn/tsccm/PoolEntryRequest;
invoke-interface {v0}, Lorg/apache/http/impl/conn/tsccm/PoolEntryRequest;->abortRequest()V
return-void
.end method
.method public getConnection(JLjava/util/concurrent/TimeUnit;)Lorg/apache/http/conn/ManagedClientConnection;
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InterruptedException;,
Lorg/apache/http/conn/ConnectionPoolTimeoutException;
}
.end annotation
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager$1;->val$route:Lorg/apache/http/conn/routing/HttpRoute;
if-eqz v0, :cond_1
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager$1;->this$0:Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;
invoke-static {v0}, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->access$000(Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;)Lorg/apache/commons/logging/Log;
move-result-object v0
invoke-interface {v0}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result v0
if-eqz v0, :cond_0
.line 3
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager$1;->this$0:Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;
invoke-static {v0}, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->access$000(Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;)Lorg/apache/commons/logging/Log;
move-result-object v0
const-string v1, "ThreadSafeClientConnManager.getConnection: "
invoke-static {v1}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget-object v2, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager$1;->val$route:Lorg/apache/http/conn/routing/HttpRoute;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, ", timeout = "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1, p2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
.line 4
:cond_0
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager$1;->val$poolRequest:Lorg/apache/http/impl/conn/tsccm/PoolEntryRequest;
invoke-interface {v0, p1, p2, p3}, Lorg/apache/http/impl/conn/tsccm/PoolEntryRequest;->getPoolEntry(JLjava/util/concurrent/TimeUnit;)Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;
move-result-object p1
.line 5
new-instance p2, Lorg/apache/http/impl/conn/tsccm/BasicPooledConnAdapter;
iget-object p3, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager$1;->this$0:Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;
invoke-direct {p2, p3, p1}, Lorg/apache/http/impl/conn/tsccm/BasicPooledConnAdapter;-><init>(Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;Lorg/apache/http/impl/conn/AbstractPoolEntry;)V
return-object p2
.line 6
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Route may not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
@@ -0,0 +1,583 @@
.class public Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;
.super Ljava/lang/Object;
.source "ThreadSafeClientConnManager.java"
# interfaces
.implements Lorg/apache/http/conn/ClientConnectionManager;
# instance fields
.field public final connOperator:Lorg/apache/http/conn/ClientConnectionOperator;
.field public final connectionPool:Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;
.field private final log:Lorg/apache/commons/logging/Log;
.field public final schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry;
# direct methods
.method public constructor <init>(Lorg/apache/http/params/HttpParams;Lorg/apache/http/conn/scheme/SchemeRegistry;)V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->getLog(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
move-result-object v0
iput-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->log:Lorg/apache/commons/logging/Log;
if-eqz p1, :cond_1
if-eqz p2, :cond_0
.line 3
iput-object p2, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry;
.line 4
invoke-virtual {p0, p2}, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->createConnectionOperator(Lorg/apache/http/conn/scheme/SchemeRegistry;)Lorg/apache/http/conn/ClientConnectionOperator;
move-result-object p2
iput-object p2, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->connOperator:Lorg/apache/http/conn/ClientConnectionOperator;
.line 5
invoke-virtual {p0, p1}, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->createConnectionPool(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;
move-result-object p1
iput-object p1, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->connectionPool:Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;
return-void
.line 6
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Scheme registry may not be null"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 7
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "HTTP parameters may not be null"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public static synthetic access$000(Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;)Lorg/apache/commons/logging/Log;
.locals 0
.line 1
iget-object p0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->log:Lorg/apache/commons/logging/Log;
return-object p0
.end method
# virtual methods
.method public closeExpiredConnections()V
.locals 2
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->log:Lorg/apache/commons/logging/Log;
const-string v1, "Closing expired connections"
invoke-interface {v0, v1}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->connectionPool:Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;
invoke-virtual {v0}, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->closeExpiredConnections()V
.line 3
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->connectionPool:Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;
invoke-virtual {v0}, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->deleteClosedConnections()V
return-void
.end method
.method public closeIdleConnections(JLjava/util/concurrent/TimeUnit;)V
.locals 3
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->log:Lorg/apache/commons/logging/Log;
invoke-interface {v0}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result v0
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->log:Lorg/apache/commons/logging/Log;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Closing connections idle for "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1, p2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v2, " "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
.line 3
:cond_0
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->connectionPool:Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;
invoke-virtual {v0, p1, p2, p3}, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->closeIdleConnections(JLjava/util/concurrent/TimeUnit;)V
.line 4
iget-object p1, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->connectionPool:Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;
invoke-virtual {p1}, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->deleteClosedConnections()V
return-void
.end method
.method public createConnectionOperator(Lorg/apache/http/conn/scheme/SchemeRegistry;)Lorg/apache/http/conn/ClientConnectionOperator;
.locals 1
.line 1
new-instance v0, Lorg/apache/http/impl/conn/DefaultClientConnectionOperator;
invoke-direct {v0, p1}, Lorg/apache/http/impl/conn/DefaultClientConnectionOperator;-><init>(Lorg/apache/http/conn/scheme/SchemeRegistry;)V
return-object v0
.end method
.method public createConnectionPool(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;
.locals 2
.line 1
new-instance v0, Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute;
iget-object v1, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->connOperator:Lorg/apache/http/conn/ClientConnectionOperator;
invoke-direct {v0, v1, p1}, Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute;-><init>(Lorg/apache/http/conn/ClientConnectionOperator;Lorg/apache/http/params/HttpParams;)V
return-object v0
.end method
.method public finalize()V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Throwable;
}
.end annotation
.line 1
:try_start_0
invoke-virtual {p0}, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->shutdown()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 2
invoke-super {p0}, Ljava/lang/Object;->finalize()V
return-void
:catchall_0
move-exception v0
invoke-super {p0}, Ljava/lang/Object;->finalize()V
throw v0
.end method
.method public getConnectionsInPool()I
.locals 2
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->connectionPool:Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;
iget-object v0, v0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->poolLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 3
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->connectionPool:Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;
iget v1, v0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->numConnections:I
.line 4
iget-object v0, v0, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->poolLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
return v1
.end method
.method public getConnectionsInPool(Lorg/apache/http/conn/routing/HttpRoute;)I
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->connectionPool:Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;
check-cast v0, Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute;
invoke-virtual {v0, p1}, Lorg/apache/http/impl/conn/tsccm/ConnPoolByRoute;->getConnectionsInPool(Lorg/apache/http/conn/routing/HttpRoute;)I
move-result p1
return p1
.end method
.method public getSchemeRegistry()Lorg/apache/http/conn/scheme/SchemeRegistry;
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry;
return-object v0
.end method
.method public releaseConnection(Lorg/apache/http/conn/ManagedClientConnection;JLjava/util/concurrent/TimeUnit;)V
.locals 7
.line 1
instance-of v0, p1, Lorg/apache/http/impl/conn/tsccm/BasicPooledConnAdapter;
if-eqz v0, :cond_b
.line 2
check-cast p1, Lorg/apache/http/impl/conn/tsccm/BasicPooledConnAdapter;
.line 3
invoke-virtual {p1}, Lorg/apache/http/impl/conn/tsccm/BasicPooledConnAdapter;->getPoolEntry()Lorg/apache/http/impl/conn/AbstractPoolEntry;
move-result-object v0
if-eqz v0, :cond_1
invoke-virtual {p1}, Lorg/apache/http/impl/conn/tsccm/BasicPooledConnAdapter;->getManager()Lorg/apache/http/conn/ClientConnectionManager;
move-result-object v0
if-ne v0, p0, :cond_0
goto :goto_0
.line 4
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Connection not obtained from this manager."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 5
:cond_1
:goto_0
monitor-enter p1
.line 6
:try_start_0
invoke-virtual {p1}, Lorg/apache/http/impl/conn/tsccm/BasicPooledConnAdapter;->getPoolEntry()Lorg/apache/http/impl/conn/AbstractPoolEntry;
move-result-object v0
move-object v2, v0
check-cast v2, Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;
if-nez v2, :cond_2
.line 7
monitor-exit p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_1
return-void
.line 8
:cond_2
:try_start_1
invoke-virtual {p1}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->isOpen()Z
move-result v0
if-eqz v0, :cond_3
invoke-virtual {p1}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->isMarkedReusable()Z
move-result v0
if-nez v0, :cond_3
.line 9
invoke-virtual {p1}, Lorg/apache/http/impl/conn/AbstractPooledConnAdapter;->shutdown()V
:try_end_1
.catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_0
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 10
:cond_3
:try_start_2
invoke-virtual {p1}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->isMarkedReusable()Z
move-result v3
.line 11
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->log:Lorg/apache/commons/logging/Log;
invoke-interface {v0}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result v0
if-eqz v0, :cond_5
if-eqz v3, :cond_4
.line 12
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->log:Lorg/apache/commons/logging/Log;
const-string v1, "Released connection is reusable."
invoke-interface {v0, v1}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
goto :goto_1
.line 13
:cond_4
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->log:Lorg/apache/commons/logging/Log;
const-string v1, "Released connection is not reusable."
invoke-interface {v0, v1}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
.line 14
:cond_5
:goto_1
invoke-virtual {p1}, Lorg/apache/http/impl/conn/tsccm/BasicPooledConnAdapter;->detach()V
.line 15
iget-object v1, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->connectionPool:Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;
:goto_2
move-wide v4, p2
move-object v6, p4
invoke-virtual/range {v1 .. v6}, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->freeEntry(Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;ZJLjava/util/concurrent/TimeUnit;)V
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_1
goto :goto_4
:catchall_0
move-exception v0
goto :goto_5
:catch_0
move-exception v0
.line 16
:try_start_3
iget-object v1, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->log:Lorg/apache/commons/logging/Log;
invoke-interface {v1}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result v1
if-eqz v1, :cond_6
.line 17
iget-object v1, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->log:Lorg/apache/commons/logging/Log;
const-string v3, "Exception shutting down released connection."
invoke-interface {v1, v3, v0}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;Ljava/lang/Throwable;)V
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_0
.line 18
:cond_6
:try_start_4
invoke-virtual {p1}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->isMarkedReusable()Z
move-result v3
.line 19
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->log:Lorg/apache/commons/logging/Log;
invoke-interface {v0}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result v0
if-eqz v0, :cond_8
if-eqz v3, :cond_7
.line 20
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->log:Lorg/apache/commons/logging/Log;
const-string v1, "Released connection is reusable."
invoke-interface {v0, v1}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
goto :goto_3
.line 21
:cond_7
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->log:Lorg/apache/commons/logging/Log;
const-string v1, "Released connection is not reusable."
invoke-interface {v0, v1}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
.line 22
:cond_8
:goto_3
invoke-virtual {p1}, Lorg/apache/http/impl/conn/tsccm/BasicPooledConnAdapter;->detach()V
.line 23
iget-object v1, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->connectionPool:Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;
goto :goto_2
.line 24
:goto_4
monitor-exit p1
return-void
.line 25
:goto_5
invoke-virtual {p1}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->isMarkedReusable()Z
move-result v3
.line 26
iget-object v1, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->log:Lorg/apache/commons/logging/Log;
invoke-interface {v1}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z
move-result v1
if-eqz v1, :cond_a
if-eqz v3, :cond_9
.line 27
iget-object v1, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->log:Lorg/apache/commons/logging/Log;
const-string v4, "Released connection is reusable."
invoke-interface {v1, v4}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
goto :goto_6
.line 28
:cond_9
iget-object v1, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->log:Lorg/apache/commons/logging/Log;
const-string v4, "Released connection is not reusable."
invoke-interface {v1, v4}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
.line 29
:cond_a
:goto_6
invoke-virtual {p1}, Lorg/apache/http/impl/conn/tsccm/BasicPooledConnAdapter;->detach()V
.line 30
iget-object v1, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->connectionPool:Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;
move-wide v4, p2
move-object v6, p4
invoke-virtual/range {v1 .. v6}, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->freeEntry(Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;ZJLjava/util/concurrent/TimeUnit;)V
.line 31
throw v0
:catchall_1
move-exception p2
.line 32
monitor-exit p1
:try_end_4
.catchall {:try_start_4 .. :try_end_4} :catchall_1
throw p2
.line 33
:cond_b
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Connection class mismatch, connection not obtained from this manager."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public requestConnection(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Lorg/apache/http/conn/ClientConnectionRequest;
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->connectionPool:Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;
invoke-virtual {v0, p1, p2}, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->requestPoolEntry(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Lorg/apache/http/impl/conn/tsccm/PoolEntryRequest;
move-result-object p2
.line 2
new-instance v0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager$1;
invoke-direct {v0, p0, p2, p1}, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager$1;-><init>(Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;Lorg/apache/http/impl/conn/tsccm/PoolEntryRequest;Lorg/apache/http/conn/routing/HttpRoute;)V
return-object v0
.end method
.method public shutdown()V
.locals 2
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->log:Lorg/apache/commons/logging/Log;
const-string v1, "Shutting down"
invoke-interface {v0, v1}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->connectionPool:Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;
invoke-virtual {v0}, Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;->shutdown()V
return-void
.end method
@@ -0,0 +1,240 @@
.class public Lorg/apache/http/impl/conn/tsccm/WaitingThread;
.super Ljava/lang/Object;
.source "WaitingThread.java"
# annotations
.annotation build Lorg/apache/http/annotation/NotThreadSafe;
.end annotation
# instance fields
.field private aborted:Z
.field private final cond:Ljava/util/concurrent/locks/Condition;
.field private final pool:Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;
.field private waiter:Ljava/lang/Thread;
# direct methods
.method public constructor <init>(Ljava/util/concurrent/locks/Condition;Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
if-eqz p1, :cond_0
.line 2
iput-object p1, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThread;->cond:Ljava/util/concurrent/locks/Condition;
.line 3
iput-object p2, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThread;->pool:Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;
return-void
.line 4
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Condition must not be null."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
# virtual methods
.method public await(Ljava/util/Date;)Z
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InterruptedException;
}
.end annotation
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThread;->waiter:Ljava/lang/Thread;
if-nez v0, :cond_3
.line 2
iget-boolean v0, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThread;->aborted:Z
const-string v1, "Operation interrupted"
if-nez v0, :cond_2
.line 3
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v0
iput-object v0, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThread;->waiter:Ljava/lang/Thread;
const/4 v0, 0x0
if-eqz p1, :cond_0
.line 4
:try_start_0
iget-object v2, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThread;->cond:Ljava/util/concurrent/locks/Condition;
invoke-interface {v2, p1}, Ljava/util/concurrent/locks/Condition;->awaitUntil(Ljava/util/Date;)Z
move-result p1
goto :goto_0
.line 5
:cond_0
iget-object p1, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThread;->cond:Ljava/util/concurrent/locks/Condition;
invoke-interface {p1}, Ljava/util/concurrent/locks/Condition;->await()V
const/4 p1, 0x1
.line 6
:goto_0
iget-boolean v2, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThread;->aborted:Z
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-nez v2, :cond_1
.line 7
iput-object v0, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThread;->waiter:Ljava/lang/Thread;
return p1
.line 8
:cond_1
:try_start_1
new-instance p1, Ljava/lang/InterruptedException;
invoke-direct {p1, v1}, Ljava/lang/InterruptedException;-><init>(Ljava/lang/String;)V
throw p1
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
:catchall_0
move-exception p1
.line 9
iput-object v0, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThread;->waiter:Ljava/lang/Thread;
throw p1
.line 10
:cond_2
new-instance p1, Ljava/lang/InterruptedException;
invoke-direct {p1, v1}, Ljava/lang/InterruptedException;-><init>(Ljava/lang/String;)V
throw p1
.line 11
:cond_3
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "A thread is already waiting on this object.\ncaller: "
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\nwaiter: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThread;->waiter:Ljava/lang/Thread;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public final getCondition()Ljava/util/concurrent/locks/Condition;
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThread;->cond:Ljava/util/concurrent/locks/Condition;
return-object v0
.end method
.method public final getPool()Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThread;->pool:Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;
return-object v0
.end method
.method public final getThread()Ljava/lang/Thread;
.locals 1
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThread;->waiter:Ljava/lang/Thread;
return-object v0
.end method
.method public interrupt()V
.locals 1
const/4 v0, 0x1
.line 1
iput-boolean v0, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThread;->aborted:Z
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThread;->cond:Ljava/util/concurrent/locks/Condition;
invoke-interface {v0}, Ljava/util/concurrent/locks/Condition;->signalAll()V
return-void
.end method
.method public wakeup()V
.locals 2
.line 1
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThread;->waiter:Ljava/lang/Thread;
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThread;->cond:Ljava/util/concurrent/locks/Condition;
invoke-interface {v0}, Ljava/util/concurrent/locks/Condition;->signalAll()V
return-void
.line 3
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Nobody waiting on this object."
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
@@ -0,0 +1,65 @@
.class public Lorg/apache/http/impl/conn/tsccm/WaitingThreadAborter;
.super Ljava/lang/Object;
.source "WaitingThreadAborter.java"
# annotations
.annotation build Lorg/apache/http/annotation/NotThreadSafe;
.end annotation
# instance fields
.field private aborted:Z
.field private waitingThread:Lorg/apache/http/impl/conn/tsccm/WaitingThread;
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public abort()V
.locals 1
const/4 v0, 0x1
.line 1
iput-boolean v0, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThreadAborter;->aborted:Z
.line 2
iget-object v0, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThreadAborter;->waitingThread:Lorg/apache/http/impl/conn/tsccm/WaitingThread;
if-eqz v0, :cond_0
.line 3
invoke-virtual {v0}, Lorg/apache/http/impl/conn/tsccm/WaitingThread;->interrupt()V
:cond_0
return-void
.end method
.method public setWaitingThread(Lorg/apache/http/impl/conn/tsccm/WaitingThread;)V
.locals 1
.line 1
iput-object p1, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThreadAborter;->waitingThread:Lorg/apache/http/impl/conn/tsccm/WaitingThread;
.line 2
iget-boolean v0, p0, Lorg/apache/http/impl/conn/tsccm/WaitingThreadAborter;->aborted:Z
if-eqz v0, :cond_0
.line 3
invoke-virtual {p1}, Lorg/apache/http/impl/conn/tsccm/WaitingThread;->interrupt()V
:cond_0
return-void
.end method