OkHttpChannelBuilder$OkHttpTransportFactory.smali
.class final Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;
.super Ljava/lang/Object;
.source "OkHttpChannelBuilder.java"
# interfaces
.implements Lio/grpc/internal/ClientTransportFactory;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/grpc/okhttp/OkHttpChannelBuilder;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x18
name = "OkHttpTransportFactory"
.end annotation
# instance fields
.field private closed:Z
.field private final connectionSpec:Lcom/squareup/okhttp/ConnectionSpec;
.field private enableKeepAlive:Z
.field private final executor:Ljava/util/concurrent/Executor;
.field private keepAliveDelayNanos:J
.field private keepAliveTimeoutNanos:J
.field private final maxMessageSize:I
.field private final socketFactory:Ljavax/net/ssl/SSLSocketFactory;
.field private final usingSharedExecutor:Z
# direct methods
.method private constructor <init>(Ljava/util/concurrent/Executor;Ljavax/net/ssl/SSLSocketFactory;Lcom/squareup/okhttp/ConnectionSpec;IZJJ)V
.registers 10
.line 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 3
iput-object p2, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->socketFactory:Ljavax/net/ssl/SSLSocketFactory;
.line 4
iput-object p3, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->connectionSpec:Lcom/squareup/okhttp/ConnectionSpec;
.line 5
iput p4, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->maxMessageSize:I
.line 6
iput-boolean p5, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->enableKeepAlive:Z
.line 7
iput-wide p6, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->keepAliveDelayNanos:J
.line 8
iput-wide p8, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->keepAliveTimeoutNanos:J
if-nez p1, :cond_13
const/4 p2, 0x1
goto :goto_14
:cond_13
const/4 p2, 0x0
.line 9
:goto_14
iput-boolean p2, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->usingSharedExecutor:Z
.line 10
iget-boolean p2, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->usingSharedExecutor:Z
if-eqz p2, :cond_27
.line 11
# getter for: Lio/grpc/okhttp/OkHttpChannelBuilder;->SHARED_EXECUTOR:Lio/grpc/internal/SharedResourceHolder$Resource;
invoke-static {}, Lio/grpc/okhttp/OkHttpChannelBuilder;->access$100()Lio/grpc/internal/SharedResourceHolder$Resource;
move-result-object p1
invoke-static {p1}, Lio/grpc/internal/SharedResourceHolder;->get(Lio/grpc/internal/SharedResourceHolder$Resource;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/util/concurrent/Executor;
iput-object p1, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->executor:Ljava/util/concurrent/Executor;
goto :goto_29
.line 12
:cond_27
iput-object p1, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->executor:Ljava/util/concurrent/Executor;
:goto_29
return-void
.end method
.method synthetic constructor <init>(Ljava/util/concurrent/Executor;Ljavax/net/ssl/SSLSocketFactory;Lcom/squareup/okhttp/ConnectionSpec;IZJJLio/grpc/okhttp/OkHttpChannelBuilder$1;)V
.registers 11
.line 1
invoke-direct/range {p0 .. p9}, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;-><init>(Ljava/util/concurrent/Executor;Ljavax/net/ssl/SSLSocketFactory;Lcom/squareup/okhttp/ConnectionSpec;IZJJ)V
return-void
.end method
# virtual methods
.method public close()V
.registers 3
.line 1
iget-boolean v0, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->closed:Z
if-eqz v0, :cond_5
return-void
:cond_5
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->closed:Z
.line 3
iget-boolean v0, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->usingSharedExecutor:Z
if-eqz v0, :cond_17
.line 4
# getter for: Lio/grpc/okhttp/OkHttpChannelBuilder;->SHARED_EXECUTOR:Lio/grpc/internal/SharedResourceHolder$Resource;
invoke-static {}, Lio/grpc/okhttp/OkHttpChannelBuilder;->access$100()Lio/grpc/internal/SharedResourceHolder$Resource;
move-result-object v0
iget-object v1, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->executor:Ljava/util/concurrent/Executor;
check-cast v1, Ljava/util/concurrent/ExecutorService;
invoke-static {v0, v1}, Lio/grpc/internal/SharedResourceHolder;->release(Lio/grpc/internal/SharedResourceHolder$Resource;Ljava/lang/Object;)Ljava/lang/Object;
:cond_17
return-void
.end method
.method public newClientTransport(Ljava/net/SocketAddress;Ljava/lang/String;Ljava/lang/String;)Lio/grpc/internal/ConnectionClientTransport;
.registers 13
.line 1
iget-boolean v0, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->closed:Z
if-nez v0, :cond_29
.line 2
move-object v2, p1
check-cast v2, Ljava/net/InetSocketAddress;
.line 3
new-instance p1, Lio/grpc/okhttp/OkHttpClientTransport;
iget-object v5, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->executor:Ljava/util/concurrent/Executor;
iget-object v6, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->socketFactory:Ljavax/net/ssl/SSLSocketFactory;
iget-object v0, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->connectionSpec:Lcom/squareup/okhttp/ConnectionSpec;
.line 4
invoke-static {v0}, Lio/grpc/okhttp/Utils;->convertSpec(Lcom/squareup/okhttp/ConnectionSpec;)Lio/grpc/okhttp/internal/ConnectionSpec;
move-result-object v7
iget v8, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->maxMessageSize:I
move-object v1, p1
move-object v3, p2
move-object v4, p3
invoke-direct/range {v1 .. v8}, Lio/grpc/okhttp/OkHttpClientTransport;-><init>(Ljava/net/InetSocketAddress;Ljava/lang/String;Ljava/lang/String;Ljava/util/concurrent/Executor;Ljavax/net/ssl/SSLSocketFactory;Lio/grpc/okhttp/internal/ConnectionSpec;I)V
.line 5
iget-boolean p2, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->enableKeepAlive:Z
if-eqz p2, :cond_28
const/4 v4, 0x1
.line 6
iget-wide v5, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->keepAliveDelayNanos:J
iget-wide v7, p0, Lio/grpc/okhttp/OkHttpChannelBuilder$OkHttpTransportFactory;->keepAliveTimeoutNanos:J
move-object v3, p1
invoke-virtual/range {v3 .. v8}, Lio/grpc/okhttp/OkHttpClientTransport;->enableKeepAlive(ZJJ)V
:cond_28
return-object p1
.line 7
:cond_29
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "The transport factory is closed."
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method