connect() — netty Function Reference
Architecture documentation for the connect() function in AbstractKQueueChannel.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD bbd7c9c1_c4bc_de70_f8db_d09f08d2b040["connect()"] db95214c_090e_b762_6cfd_37721de6cf7b["AbstractKQueueUnsafe"] bbd7c9c1_c4bc_de70_f8db_d09f08d2b040 -->|defined in| db95214c_090e_b762_6cfd_37721de6cf7b 67f1ad2f_19a6_0305_1eca_74e51248ffcb["doConnect()"] 67f1ad2f_19a6_0305_1eca_74e51248ffcb -->|calls| bbd7c9c1_c4bc_de70_f8db_d09f08d2b040 40290e34_2d02_2ca4_f99e_abc7767dd285["doConnect0()"] 40290e34_2d02_2ca4_f99e_abc7767dd285 -->|calls| bbd7c9c1_c4bc_de70_f8db_d09f08d2b040 684a2bb9_79af_cb54_06e1_79f3ed633d1c["isActive()"] bbd7c9c1_c4bc_de70_f8db_d09f08d2b040 -->|calls| 684a2bb9_79af_cb54_06e1_79f3ed633d1c 67f1ad2f_19a6_0305_1eca_74e51248ffcb["doConnect()"] bbd7c9c1_c4bc_de70_f8db_d09f08d2b040 -->|calls| 67f1ad2f_19a6_0305_1eca_74e51248ffcb 65cda6eb_54fc_08fa_109d_821dc9e4f73a["fulfillConnectPromise()"] bbd7c9c1_c4bc_de70_f8db_d09f08d2b040 -->|calls| 65cda6eb_54fc_08fa_109d_821dc9e4f73a 6cfc6ba6_4961_3030_0b05_046c480b76d2["close()"] bbd7c9c1_c4bc_de70_f8db_d09f08d2b040 -->|calls| 6cfc6ba6_4961_3030_0b05_046c480b76d2 style bbd7c9c1_c4bc_de70_f8db_d09f08d2b040 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/AbstractKQueueChannel.java lines 554–611
@Override
public void connect(
final SocketAddress remoteAddress, final SocketAddress localAddress, final ChannelPromise promise) {
// Don't mark the connect promise as uncancellable as in fact we can cancel it as it is using
// non-blocking io.
if (promise.isDone() || !ensureOpen(promise)) {
return;
}
try {
if (connectPromise != null) {
throw new ConnectionPendingException();
}
boolean wasActive = isActive();
if (doConnect(remoteAddress, localAddress)) {
fulfillConnectPromise(promise, wasActive);
} else {
connectPromise = promise;
requestedRemoteAddress = remoteAddress;
// Schedule connect timeout.
final int connectTimeoutMillis = config().getConnectTimeoutMillis();
if (connectTimeoutMillis > 0) {
connectTimeoutFuture = eventLoop().schedule(new Runnable() {
@Override
public void run() {
ChannelPromise connectPromise = AbstractKQueueChannel.this.connectPromise;
if (connectPromise != null && !connectPromise.isDone()
&& connectPromise.tryFailure(new ConnectTimeoutException(
"connection timed out after " + connectTimeoutMillis + " ms: " +
remoteAddress))) {
close(voidPromise());
}
}
}, connectTimeoutMillis, TimeUnit.MILLISECONDS);
}
promise.addListener(new ChannelFutureListener() {
@Override
public void operationComplete(ChannelFuture future) {
// If the connect future is cancelled we also cancel the timeout and close the
// underlying socket.
if (future.isCancelled()) {
if (connectTimeoutFuture != null) {
connectTimeoutFuture.cancel(false);
}
connectPromise = null;
close(voidPromise());
}
}
});
}
} catch (Throwable t) {
closeIfClosed();
promise.tryFailure(annotateConnectException(t, remoteAddress));
}
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does connect() do?
connect() is a function in the netty codebase, defined in transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/AbstractKQueueChannel.java.
Where is connect() defined?
connect() is defined in transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/AbstractKQueueChannel.java at line 554.
What does connect() call?
connect() calls 4 function(s): close, doConnect, fulfillConnectPromise, isActive.
What calls connect()?
connect() is called by 2 function(s): doConnect, doConnect0.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free