public class io.vertx.ext.mail.impl.MailClientImpl implements io.vertx.ext.mail.MailClient
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.ext.mail.impl.MailClientImpl
super_class: java.lang.Object
{
private static final io.vertx.core.logging.Logger log;
descriptor: Lio/vertx/core/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String POOL_LOCAL_MAP_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "__vertx.MailClient.pools"
private final io.vertx.core.Vertx vertx;
descriptor: Lio/vertx/core/Vertx;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.ext.mail.MailConfig config;
descriptor: Lio/vertx/ext/mail/MailConfig;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.ext.mail.impl.SMTPConnectionPool connectionPool;
descriptor: Lio/vertx/ext/mail/impl/SMTPConnectionPool;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.ext.mail.impl.MailClientImpl$MailHolder holder;
descriptor: Lio/vertx/ext/mail/impl/MailClientImpl$MailHolder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.String hostname;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private volatile boolean closed;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/vertx/ext/mail/impl/MailClientImpl;
invokestatic io.vertx.core.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/logging/Logger;
putstatic io.vertx.ext.mail.impl.MailClientImpl.log:Lio/vertx/core/logging/Logger;
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(io.vertx.core.Vertx, io.vertx.ext.mail.MailConfig, java.lang.String);
descriptor: (Lio/vertx/core/Vertx;Lio/vertx/ext/mail/MailConfig;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield io.vertx.ext.mail.impl.MailClientImpl.hostname:Ljava/lang/String;
2: aload 0
iconst_0
putfield io.vertx.ext.mail.impl.MailClientImpl.closed:Z
3: aload 0
aload 1
putfield io.vertx.ext.mail.impl.MailClientImpl.vertx:Lio/vertx/core/Vertx;
4: aload 0
aload 2
putfield io.vertx.ext.mail.impl.MailClientImpl.config:Lio/vertx/ext/mail/MailConfig;
5: aload 0
aload 0
aload 3
aload 2
invokevirtual io.vertx.ext.mail.impl.MailClientImpl.lookupHolder:(Ljava/lang/String;Lio/vertx/ext/mail/MailConfig;)Lio/vertx/ext/mail/impl/MailClientImpl$MailHolder;
putfield io.vertx.ext.mail.impl.MailClientImpl.holder:Lio/vertx/ext/mail/impl/MailClientImpl$MailHolder;
6: aload 0
aload 0
getfield io.vertx.ext.mail.impl.MailClientImpl.holder:Lio/vertx/ext/mail/impl/MailClientImpl$MailHolder;
invokevirtual io.vertx.ext.mail.impl.MailClientImpl$MailHolder.pool:()Lio/vertx/ext/mail/impl/SMTPConnectionPool;
putfield io.vertx.ext.mail.impl.MailClientImpl.connectionPool:Lio/vertx/ext/mail/impl/SMTPConnectionPool;
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/vertx/ext/mail/impl/MailClientImpl;
0 8 1 vertx Lio/vertx/core/Vertx;
0 8 2 config Lio/vertx/ext/mail/MailConfig;
0 8 3 poolName Ljava/lang/String;
MethodParameters:
Name Flags
vertx
config
poolName
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.mail.impl.MailClientImpl.closed:Z
ifeq 2
1: new java.lang.IllegalStateException
dup
ldc "Already closed"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.mail.impl.MailClientImpl.holder:Lio/vertx/ext/mail/impl/MailClientImpl$MailHolder;
invokevirtual io.vertx.ext.mail.impl.MailClientImpl$MailHolder.close:()V
3: aload 0
iconst_1
putfield io.vertx.ext.mail.impl.MailClientImpl.closed:Z
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/ext/mail/impl/MailClientImpl;
public io.vertx.ext.mail.MailClient sendMail(io.vertx.ext.mail.MailMessage, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.mail.MailResult>>);
descriptor: (Lio/vertx/ext/mail/MailMessage;Lio/vertx/core/Handler;)Lio/vertx/ext/mail/MailClient;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.ext.mail.impl.MailClientImpl.vertx:Lio/vertx/core/Vertx;
invokeinterface io.vertx.core.Vertx.getOrCreateContext:()Lio/vertx/core/Context;
astore 3
start local 3 1: aload 0
getfield io.vertx.ext.mail.impl.MailClientImpl.closed:Z
ifne 11
2: aload 0
aload 1
aload 2
aload 3
invokevirtual io.vertx.ext.mail.impl.MailClientImpl.validateHeaders:(Lio/vertx/ext/mail/MailMessage;Lio/vertx/core/Handler;Lio/vertx/core/Context;)Z
ifeq 12
3: aload 0
getfield io.vertx.ext.mail.impl.MailClientImpl.hostname:Ljava/lang/String;
ifnonnull 9
4: aload 0
getfield io.vertx.ext.mail.impl.MailClientImpl.vertx:Lio/vertx/core/Vertx;
5: aload 0
invokedynamic handle(Lio/vertx/ext/mail/impl/MailClientImpl;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/ext/mail/impl/MailClientImpl.lambda$0(Lio/vertx/core/Promise;)V (7)
(Lio/vertx/core/Promise;)V
6: aload 0
aload 1
aload 2
aload 3
invokedynamic handle(Lio/vertx/ext/mail/impl/MailClientImpl;Lio/vertx/ext/mail/MailMessage;Lio/vertx/core/Handler;Lio/vertx/core/Context;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/ext/mail/impl/MailClientImpl.lambda$1(Lio/vertx/ext/mail/MailMessage;Lio/vertx/core/Handler;Lio/vertx/core/Context;Lio/vertx/core/AsyncResult;)V (7)
(Lio/vertx/core/AsyncResult;)V
7: invokeinterface io.vertx.core.Vertx.executeBlocking:(Lio/vertx/core/Handler;Lio/vertx/core/Handler;)V
8: goto 12
9: StackMap locals: io.vertx.core.Context
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokevirtual io.vertx.ext.mail.impl.MailClientImpl.getConnection:(Lio/vertx/ext/mail/MailMessage;Lio/vertx/core/Handler;Lio/vertx/core/Context;)V
10: goto 12
11: StackMap locals:
StackMap stack:
aload 0
ldc "mail client has been closed"
aload 2
aload 3
invokevirtual io.vertx.ext.mail.impl.MailClientImpl.handleError:(Ljava/lang/String;Lio/vertx/core/Handler;Lio/vertx/core/Context;)V
12: StackMap locals:
StackMap stack:
aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/vertx/ext/mail/impl/MailClientImpl;
0 13 1 message Lio/vertx/ext/mail/MailMessage;
0 13 2 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/mail/MailResult;>;>;
1 13 3 context Lio/vertx/core/Context;
Signature: (Lio/vertx/ext/mail/MailMessage;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/mail/MailResult;>;>;)Lio/vertx/ext/mail/MailClient;
MethodParameters:
Name Flags
message
resultHandler
private void getConnection(io.vertx.ext.mail.MailMessage, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.mail.MailResult>>, io.vertx.core.Context);
descriptor: (Lio/vertx/ext/mail/MailMessage;Lio/vertx/core/Handler;Lio/vertx/core/Context;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.vertx.ext.mail.impl.MailClientImpl.connectionPool:Lio/vertx/ext/mail/impl/SMTPConnectionPool;
aload 0
getfield io.vertx.ext.mail.impl.MailClientImpl.hostname:Ljava/lang/String;
aload 0
aload 2
aload 3
aload 1
invokedynamic handle(Lio/vertx/ext/mail/impl/MailClientImpl;Lio/vertx/core/Handler;Lio/vertx/core/Context;Lio/vertx/ext/mail/MailMessage;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/ext/mail/impl/MailClientImpl.lambda$2(Lio/vertx/core/Handler;Lio/vertx/core/Context;Lio/vertx/ext/mail/MailMessage;Lio/vertx/core/AsyncResult;)V (7)
(Lio/vertx/core/AsyncResult;)V
invokevirtual io.vertx.ext.mail.impl.SMTPConnectionPool.getConnection:(Ljava/lang/String;Lio/vertx/core/Handler;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/mail/impl/MailClientImpl;
0 2 1 message Lio/vertx/ext/mail/MailMessage;
0 2 2 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/mail/MailResult;>;>;
0 2 3 context Lio/vertx/core/Context;
Signature: (Lio/vertx/ext/mail/MailMessage;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/mail/MailResult;>;>;Lio/vertx/core/Context;)V
MethodParameters:
Name Flags
message
resultHandler
context
private void sendMessage(io.vertx.ext.mail.MailMessage, io.vertx.ext.mail.impl.SMTPConnection, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.mail.MailResult>>, io.vertx.core.Context);
descriptor: (Lio/vertx/ext/mail/MailMessage;Lio/vertx/ext/mail/impl/SMTPConnection;Lio/vertx/core/Handler;Lio/vertx/core/Context;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new io.vertx.ext.mail.impl.SMTPSendMail
dup
aload 2
aload 1
aload 0
getfield io.vertx.ext.mail.impl.MailClientImpl.config:Lio/vertx/ext/mail/MailConfig;
aload 0
getfield io.vertx.ext.mail.impl.MailClientImpl.hostname:Ljava/lang/String;
aload 0
aload 2
aload 3
aload 4
invokedynamic handle(Lio/vertx/ext/mail/impl/MailClientImpl;Lio/vertx/ext/mail/impl/SMTPConnection;Lio/vertx/core/Handler;Lio/vertx/core/Context;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/ext/mail/impl/MailClientImpl.lambda$4(Lio/vertx/ext/mail/impl/SMTPConnection;Lio/vertx/core/Handler;Lio/vertx/core/Context;Lio/vertx/core/AsyncResult;)V (7)
(Lio/vertx/core/AsyncResult;)V
invokespecial io.vertx.ext.mail.impl.SMTPSendMail.<init>:(Lio/vertx/ext/mail/impl/SMTPConnection;Lio/vertx/ext/mail/MailMessage;Lio/vertx/ext/mail/MailConfig;Ljava/lang/String;Lio/vertx/core/Handler;)V
1: invokevirtual io.vertx.ext.mail.impl.SMTPSendMail.start:()V
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/ext/mail/impl/MailClientImpl;
0 3 1 email Lio/vertx/ext/mail/MailMessage;
0 3 2 conn Lio/vertx/ext/mail/impl/SMTPConnection;
0 3 3 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/mail/MailResult;>;>;
0 3 4 context Lio/vertx/core/Context;
Signature: (Lio/vertx/ext/mail/MailMessage;Lio/vertx/ext/mail/impl/SMTPConnection;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/mail/MailResult;>;>;Lio/vertx/core/Context;)V
MethodParameters:
Name Flags
email
conn
resultHandler
context
private boolean validateHeaders(io.vertx.ext.mail.MailMessage, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.mail.MailResult>>, io.vertx.core.Context);
descriptor: (Lio/vertx/ext/mail/MailMessage;Lio/vertx/core/Handler;Lio/vertx/core/Context;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual io.vertx.ext.mail.MailMessage.getBounceAddress:()Ljava/lang/String;
ifnonnull 3
aload 1
invokevirtual io.vertx.ext.mail.MailMessage.getFrom:()Ljava/lang/String;
ifnonnull 3
1: aload 0
ldc "sender address is not present"
aload 2
aload 3
invokevirtual io.vertx.ext.mail.impl.MailClientImpl.handleError:(Ljava/lang/String;Lio/vertx/core/Handler;Lio/vertx/core/Context;)V
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.vertx.ext.mail.MailMessage.getTo:()Ljava/util/List;
ifnull 4
aload 1
invokevirtual io.vertx.ext.mail.MailMessage.getTo:()Ljava/util/List;
invokeinterface java.util.List.size:()I
ifne 9
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.vertx.ext.mail.MailMessage.getCc:()Ljava/util/List;
ifnull 5
aload 1
invokevirtual io.vertx.ext.mail.MailMessage.getCc:()Ljava/util/List;
invokeinterface java.util.List.size:()I
ifne 9
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.vertx.ext.mail.MailMessage.getBcc:()Ljava/util/List;
ifnull 6
aload 1
invokevirtual io.vertx.ext.mail.MailMessage.getBcc:()Ljava/util/List;
invokeinterface java.util.List.size:()I
ifne 9
6: StackMap locals:
StackMap stack:
getstatic io.vertx.ext.mail.impl.MailClientImpl.log:Lio/vertx/core/logging/Logger;
ldc "no recipient addresses are present"
invokevirtual io.vertx.core.logging.Logger.warn:(Ljava/lang/Object;)V
7: aload 0
ldc "no recipient addresses are present"
aload 2
aload 3
invokevirtual io.vertx.ext.mail.impl.MailClientImpl.handleError:(Ljava/lang/String;Lio/vertx/core/Handler;Lio/vertx/core/Context;)V
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/vertx/ext/mail/impl/MailClientImpl;
0 10 1 email Lio/vertx/ext/mail/MailMessage;
0 10 2 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/mail/MailResult;>;>;
0 10 3 context Lio/vertx/core/Context;
Signature: (Lio/vertx/ext/mail/MailMessage;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/mail/MailResult;>;>;Lio/vertx/core/Context;)Z
MethodParameters:
Name Flags
email
resultHandler
context
private void handleError(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.mail.MailResult>>, io.vertx.core.Context);
descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;Lio/vertx/core/Context;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic io.vertx.ext.mail.impl.MailClientImpl.log:Lio/vertx/core/logging/Logger;
new java.lang.StringBuilder
dup
ldc "handleError:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual io.vertx.core.logging.Logger.debug:(Ljava/lang/Object;)V
1: aload 0
aload 1
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
aload 2
aload 3
invokevirtual io.vertx.ext.mail.impl.MailClientImpl.returnResult:(Lio/vertx/core/AsyncResult;Lio/vertx/core/Handler;Lio/vertx/core/Context;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/ext/mail/impl/MailClientImpl;
0 3 1 message Ljava/lang/String;
0 3 2 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/mail/MailResult;>;>;
0 3 3 context Lio/vertx/core/Context;
Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/mail/MailResult;>;>;Lio/vertx/core/Context;)V
MethodParameters:
Name Flags
message
resultHandler
context
private void handleError(java.lang.Throwable, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.mail.MailResult>>, io.vertx.core.Context);
descriptor: (Ljava/lang/Throwable;Lio/vertx/core/Handler;Lio/vertx/core/Context;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic io.vertx.ext.mail.impl.MailClientImpl.log:Lio/vertx/core/logging/Logger;
ldc "handleError"
aload 1
invokevirtual io.vertx.core.logging.Logger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
1: aload 0
aload 1
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
aload 2
aload 3
invokevirtual io.vertx.ext.mail.impl.MailClientImpl.returnResult:(Lio/vertx/core/AsyncResult;Lio/vertx/core/Handler;Lio/vertx/core/Context;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/ext/mail/impl/MailClientImpl;
0 3 1 t Ljava/lang/Throwable;
0 3 2 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/mail/MailResult;>;>;
0 3 3 context Lio/vertx/core/Context;
Signature: (Ljava/lang/Throwable;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/mail/MailResult;>;>;Lio/vertx/core/Context;)V
MethodParameters:
Name Flags
t
resultHandler
context
private void returnResult(io.vertx.core.AsyncResult<io.vertx.ext.mail.MailResult>, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.mail.MailResult>>, io.vertx.core.Context);
descriptor: (Lio/vertx/core/AsyncResult;Lio/vertx/core/Handler;Lio/vertx/core/Context;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
aload 2
aload 1
invokedynamic handle(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/ext/mail/impl/MailClientImpl.lambda$5(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;Ljava/lang/Void;)V (6)
(Ljava/lang/Void;)V
invokeinterface io.vertx.core.Context.runOnContext:(Lio/vertx/core/Handler;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/mail/impl/MailClientImpl;
0 2 1 result Lio/vertx/core/AsyncResult<Lio/vertx/ext/mail/MailResult;>;
0 2 2 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/mail/MailResult;>;>;
0 2 3 context Lio/vertx/core/Context;
Signature: (Lio/vertx/core/AsyncResult<Lio/vertx/ext/mail/MailResult;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/mail/MailResult;>;>;Lio/vertx/core/Context;)V
MethodParameters:
Name Flags
result
resultHandler
context
io.vertx.ext.mail.impl.SMTPConnectionPool getConnectionPool();
descriptor: ()Lio/vertx/ext/mail/impl/SMTPConnectionPool;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.mail.impl.MailClientImpl.connectionPool:Lio/vertx/ext/mail/impl/SMTPConnectionPool;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/mail/impl/MailClientImpl;
private io.vertx.ext.mail.impl.MailClientImpl$MailHolder lookupHolder(java.lang.String, io.vertx.ext.mail.MailConfig);
descriptor: (Ljava/lang/String;Lio/vertx/ext/mail/MailConfig;)Lio/vertx/ext/mail/impl/MailClientImpl$MailHolder;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.ext.mail.impl.MailClientImpl.vertx:Lio/vertx/core/Vertx;
dup
astore 3
monitorenter
1: aload 0
getfield io.vertx.ext.mail.impl.MailClientImpl.vertx:Lio/vertx/core/Vertx;
invokeinterface io.vertx.core.Vertx.sharedData:()Lio/vertx/core/shareddata/SharedData;
ldc "__vertx.MailClient.pools"
invokeinterface io.vertx.core.shareddata.SharedData.getLocalMap:(Ljava/lang/String;)Lio/vertx/core/shareddata/LocalMap;
astore 4
start local 4 2: aload 4
aload 1
invokeinterface io.vertx.core.shareddata.LocalMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.vertx.ext.mail.impl.MailClientImpl$MailHolder
astore 5
start local 5 3: aload 5
ifnonnull 7
4: new io.vertx.ext.mail.impl.MailClientImpl$MailHolder
dup
aload 0
getfield io.vertx.ext.mail.impl.MailClientImpl.vertx:Lio/vertx/core/Vertx;
aload 2
aload 0
aload 4
aload 1
invokedynamic run(Lio/vertx/ext/mail/impl/MailClientImpl;Lio/vertx/core/shareddata/LocalMap;Ljava/lang/String;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
io/vertx/ext/mail/impl/MailClientImpl.lambda$6(Lio/vertx/core/shareddata/LocalMap;Ljava/lang/String;)V (7)
()V
invokespecial io.vertx.ext.mail.impl.MailClientImpl$MailHolder.<init>:(Lio/vertx/core/Vertx;Lio/vertx/ext/mail/MailConfig;Ljava/lang/Runnable;)V
astore 5
5: aload 4
aload 1
aload 5
invokeinterface io.vertx.core.shareddata.LocalMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: goto 8
7: StackMap locals: io.vertx.core.Vertx io.vertx.core.shareddata.LocalMap io.vertx.ext.mail.impl.MailClientImpl$MailHolder
StackMap stack:
aload 5
invokevirtual io.vertx.ext.mail.impl.MailClientImpl$MailHolder.incRefCount:()V
8: StackMap locals:
StackMap stack:
aload 5
aload 3
monitorexit
9: areturn
end local 5 end local 4 10: StackMap locals: io.vertx.ext.mail.impl.MailClientImpl java.lang.String io.vertx.ext.mail.MailConfig io.vertx.core.Vertx
StackMap stack: java.lang.Throwable
aload 3
monitorexit
11: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/vertx/ext/mail/impl/MailClientImpl;
0 12 1 poolName Ljava/lang/String;
0 12 2 config Lio/vertx/ext/mail/MailConfig;
2 10 4 map Lio/vertx/core/shareddata/LocalMap<Ljava/lang/String;Lio/vertx/ext/mail/impl/MailClientImpl$MailHolder;>;
3 10 5 theHolder Lio/vertx/ext/mail/impl/MailClientImpl$MailHolder;
Exception table:
from to target type
1 9 10 any
10 11 10 any
MethodParameters:
Name Flags
poolName
config
private void removeFromMap(io.vertx.core.shareddata.LocalMap<java.lang.String, io.vertx.ext.mail.impl.MailClientImpl$MailHolder>, java.lang.String);
descriptor: (Lio/vertx/core/shareddata/LocalMap;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.ext.mail.impl.MailClientImpl.vertx:Lio/vertx/core/Vertx;
dup
astore 3
monitorenter
1: aload 1
aload 2
invokeinterface io.vertx.core.shareddata.LocalMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 1
invokeinterface io.vertx.core.shareddata.LocalMap.isEmpty:()Z
ifeq 4
3: aload 1
invokeinterface io.vertx.core.shareddata.LocalMap.close:()V
4: StackMap locals: io.vertx.core.Vertx
StackMap stack:
aload 3
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 3
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/vertx/ext/mail/impl/MailClientImpl;
0 9 1 map Lio/vertx/core/shareddata/LocalMap<Ljava/lang/String;Lio/vertx/ext/mail/impl/MailClientImpl$MailHolder;>;
0 9 2 dataSourceName Ljava/lang/String;
Exception table:
from to target type
1 5 6 any
6 7 6 any
Signature: (Lio/vertx/core/shareddata/LocalMap<Ljava/lang/String;Lio/vertx/ext/mail/impl/MailClientImpl$MailHolder;>;Ljava/lang/String;)V
MethodParameters:
Name Flags
map
dataSourceName
private void lambda$0(io.vertx.core.Promise);
descriptor: (Lio/vertx/core/Promise;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.ext.mail.impl.MailClientImpl.config:Lio/vertx/ext/mail/MailConfig;
invokevirtual io.vertx.ext.mail.MailConfig.getOwnHostname:()Ljava/lang/String;
ifnull 3
1: aload 0
getfield io.vertx.ext.mail.impl.MailClientImpl.config:Lio/vertx/ext/mail/MailConfig;
invokevirtual io.vertx.ext.mail.MailConfig.getOwnHostname:()Ljava/lang/String;
astore 2
start local 2 2: goto 4
end local 2 3: StackMap locals:
StackMap stack:
invokestatic io.vertx.ext.mail.impl.Utils.getHostname:()Ljava/lang/String;
astore 2
start local 2 4: StackMap locals: java.lang.String
StackMap stack:
aload 1
aload 2
invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
end local 2 5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/ext/mail/impl/MailClientImpl;
0 6 1 fut Lio/vertx/core/Promise<Ljava/lang/String;>;
2 3 2 hname Ljava/lang/String;
4 5 2 hname Ljava/lang/String;
private void lambda$1(io.vertx.ext.mail.MailMessage, io.vertx.core.Handler, io.vertx.core.Context, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/ext/mail/MailMessage;Lio/vertx/core/Handler;Lio/vertx/core/Context;Lio/vertx/core/AsyncResult;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 4 0: aload 4
invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
ifeq 4
1: aload 0
aload 4
invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
checkcast java.lang.String
putfield io.vertx.ext.mail.impl.MailClientImpl.hostname:Ljava/lang/String;
2: aload 0
aload 1
aload 2
aload 3
invokevirtual io.vertx.ext.mail.impl.MailClientImpl.getConnection:(Lio/vertx/ext/mail/MailMessage;Lio/vertx/core/Handler;Lio/vertx/core/Context;)V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
aload 4
invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
aload 2
aload 3
invokevirtual io.vertx.ext.mail.impl.MailClientImpl.handleError:(Ljava/lang/Throwable;Lio/vertx/core/Handler;Lio/vertx/core/Context;)V
5: StackMap locals:
StackMap stack:
return
end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/ext/mail/impl/MailClientImpl;
0 6 4 res Lio/vertx/core/AsyncResult<Ljava/lang/String;>;
private void lambda$2(io.vertx.core.Handler, io.vertx.core.Context, io.vertx.ext.mail.MailMessage, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/Context;Lio/vertx/ext/mail/MailMessage;Lio/vertx/core/AsyncResult;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 4 0: aload 4
invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
ifeq 5
1: aload 4
invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
checkcast io.vertx.ext.mail.impl.SMTPConnection
astore 5
start local 5 2: aload 5
aload 0
aload 1
aload 2
invokedynamic handle(Lio/vertx/ext/mail/impl/MailClientImpl;Lio/vertx/core/Handler;Lio/vertx/core/Context;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/ext/mail/impl/MailClientImpl.lambda$3(Lio/vertx/core/Handler;Lio/vertx/core/Context;Ljava/lang/Throwable;)V (7)
(Ljava/lang/Throwable;)V
invokevirtual io.vertx.ext.mail.impl.SMTPConnection.setErrorHandler:(Lio/vertx/core/Handler;)V
3: aload 0
aload 3
aload 5
aload 1
aload 2
invokevirtual io.vertx.ext.mail.impl.MailClientImpl.sendMessage:(Lio/vertx/ext/mail/MailMessage;Lio/vertx/ext/mail/impl/SMTPConnection;Lio/vertx/core/Handler;Lio/vertx/core/Context;)V
end local 5 4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
aload 4
invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
aload 1
aload 2
invokevirtual io.vertx.ext.mail.impl.MailClientImpl.handleError:(Ljava/lang/Throwable;Lio/vertx/core/Handler;Lio/vertx/core/Context;)V
6: StackMap locals:
StackMap stack:
return
end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/vertx/ext/mail/impl/MailClientImpl;
0 7 4 result Lio/vertx/core/AsyncResult<Lio/vertx/ext/mail/impl/SMTPConnection;>;
2 4 5 connection Lio/vertx/ext/mail/impl/SMTPConnection;
private void lambda$4(io.vertx.ext.mail.impl.SMTPConnection, io.vertx.core.Handler, io.vertx.core.Context, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/ext/mail/impl/SMTPConnection;Lio/vertx/core/Handler;Lio/vertx/core/Context;Lio/vertx/core/AsyncResult;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 4 0: aload 4
invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
ifeq 3
1: aload 1
invokevirtual io.vertx.ext.mail.impl.SMTPConnection.returnToPool:()V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.vertx.ext.mail.impl.SMTPConnection.setBroken:()V
4: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 2
aload 3
invokevirtual io.vertx.ext.mail.impl.MailClientImpl.returnResult:(Lio/vertx/core/AsyncResult;Lio/vertx/core/Handler;Lio/vertx/core/Context;)V
5: return
end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/ext/mail/impl/MailClientImpl;
0 6 4 result Lio/vertx/core/AsyncResult<Lio/vertx/ext/mail/MailResult;>;
private static void lambda$5(io.vertx.core.Handler, io.vertx.core.AsyncResult, java.lang.Void);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;Ljava/lang/Void;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 2 0: aload 0
ifnull 3
1: aload 0
aload 1
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: goto 7
3: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
ifeq 6
4: getstatic io.vertx.ext.mail.impl.MailClientImpl.log:Lio/vertx/core/logging/Logger;
ldc "dropping sendMail result"
invokevirtual io.vertx.core.logging.Logger.debug:(Ljava/lang/Object;)V
5: goto 7
6: StackMap locals:
StackMap stack:
getstatic io.vertx.ext.mail.impl.MailClientImpl.log:Lio/vertx/core/logging/Logger;
ldc "dropping sendMail failure"
aload 1
invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
invokevirtual io.vertx.core.logging.Logger.info:(Ljava/lang/Object;Ljava/lang/Throwable;)V
7: StackMap locals:
StackMap stack:
return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 8 2 v Ljava/lang/Void;
private void lambda$6(io.vertx.core.shareddata.LocalMap, java.lang.String);
descriptor: (Lio/vertx/core/shareddata/LocalMap;Ljava/lang/String;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 0: aload 0
aload 1
aload 2
invokevirtual io.vertx.ext.mail.impl.MailClientImpl.removeFromMap:(Lio/vertx/core/shareddata/LocalMap;Ljava/lang/String;)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/mail/impl/MailClientImpl;
private void lambda$3(io.vertx.core.Handler, io.vertx.core.Context, java.lang.Throwable);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/Context;Ljava/lang/Throwable;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 3 0: aload 0
aload 3
aload 1
aload 2
invokevirtual io.vertx.ext.mail.impl.MailClientImpl.handleError:(Ljava/lang/Throwable;Lio/vertx/core/Handler;Lio/vertx/core/Context;)V
return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/mail/impl/MailClientImpl;
0 1 3 th Ljava/lang/Throwable;
}
SourceFile: "MailClientImpl.java"
NestMembers:
io.vertx.ext.mail.impl.MailClientImpl$MailHolder
InnerClasses:
private MailHolder = io.vertx.ext.mail.impl.MailClientImpl$MailHolder of io.vertx.ext.mail.impl.MailClientImpl
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles