Package com.neovisionaries.ws.client
Class SocketInitiator
- java.lang.Object
-
- com.neovisionaries.ws.client.SocketInitiator
-
public class SocketInitiator extends java.lang.Object
Lets multiple sockets race the given IP addresses until one has been established. This follows RFC 6555 (Happy Eyeballs).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
SocketInitiator.Signal
A wait signal will be awaited by aSocketInitiator.SocketRacer
before it starts to connect.private class
SocketInitiator.SocketFuture
The socket future is shared across allSocketInitiator.SocketRacer
threads and aggregates the results.private class
SocketInitiator.SocketRacer
This thread connects to a socket and notifies aSocketInitiator.SocketFuture
shared across all racer threads when it is done.
-
Field Summary
Fields Modifier and Type Field Description private Address
mAddress
private int
mConnectTimeout
private int
mFallbackDelay
private DualStackMode
mMode
private java.lang.String[]
mServerNames
private javax.net.SocketFactory
mSocketFactory
-
Constructor Summary
Constructors Constructor Description SocketInitiator(javax.net.SocketFactory socketFactory, Address address, int connectTimeout, java.lang.String[] serverNames, DualStackMode mode, int fallbackDelay)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.net.Socket
establish(java.net.InetAddress[] addresses)
-
-
-
Field Detail
-
mSocketFactory
private final javax.net.SocketFactory mSocketFactory
-
mAddress
private final Address mAddress
-
mConnectTimeout
private final int mConnectTimeout
-
mServerNames
private final java.lang.String[] mServerNames
-
mMode
private final DualStackMode mMode
-
mFallbackDelay
private final int mFallbackDelay
-
-
Constructor Detail
-
SocketInitiator
public SocketInitiator(javax.net.SocketFactory socketFactory, Address address, int connectTimeout, java.lang.String[] serverNames, DualStackMode mode, int fallbackDelay)
-
-