Top Description Fields Constructors Methods
org.newsclub.net.unix

public final Class AFAddressFamily<A extends AFSocketAddress>

extends Object
Class Inheritance
Type Parameters
<A>
The corresponding AFSocketAddress subclass.
Imports
java.io.IOException, java.lang.reflect.InvocationTargetException, java.net.SocketAddress, .SocketException, .URI, java.nio.channels.ServerSocketChannel, .SocketChannel, .UnsupportedAddressTypeException, java.nio.channels.spi.SelectorProvider, java.util.Collections, .HashMap, .HashSet, .Map, .Objects, .Set, java.util.concurrent.atomic.AtomicBoolean, org.eclipse.jdt.annotation.NonNull, .Nullable, org.newsclub.net.unix.AFSocketAddress.AFSocketAddressConstructor

Describes an address family supported by junixsocket.
Author
Christian Kohlschütter

Field Summary

Modifier and TypeField and Description
private @Nullable Class<A>
private final String
private AFSocketAddressConfig<A>
private AFSocketAddress.AFSocketAddressConstructor<A>
private static final Map<String, AFAddressFamily<?>>
private static final AtomicBoolean
private final int
private final String
private final String
private SelectorProvider
private String
private AFServerSocket.Constructor<A>
private AFSocket.Constructor<A>
private static final Map<String, AFAddressFamily<?>>

Constructor Summary

AccessConstructor and Description
private
AFAddressFamily(String juxString, int domain, String addressClassname)

Method Summary

Modifier and TypeMethod and Description
pack-priv static void
private synchronized void
pack-priv AFSocketAddress.AFSocketAddressConstructor<A>
pack-priv static synchronized AFAddressFamily<?>
pack-priv static AFAddressFamily<?>
pack-priv int
pack-priv String
pack-priv String
public synchronized SelectorProvider

Returns:

The SelectorProvider.
getSelectorProvider
()

Returns the SelectorProvider associated with this address family, or null if no such instance is registered.

pack-priv AFServerSocket.Constructor<A>
pack-priv Class<A>
pack-priv AFSocket.Constructor<A>
pack-priv AFSocketImplExtensions<A>
public AFServerSocket<?>

Returns:

The server socket instance.
newServerSocket
()

Creates a new, unconnected, unbound server socket compatible with this socket address.

public AFServerSocketChannel<?>

Returns:

The socket instance.
newServerSocketChannel
()

Creates a new, unconnected, unbound ServerSocketChannel compatible with this socket address.

public AFSocket<?>

Returns:

The socket instance.
newSocket
()

Creates a new, unconnected, unbound socket compatible with this socket address.

public AFSocketChannel<?>

Returns:

The socket instance.
newSocketChannel
()

Creates a new, unconnected, unbound SocketChannel compatible with this socket address.

public SocketAddress

Returns:

The new socket address, or null.
nullBindAddress
()

Returns an appropriate SocketAddress to be used when calling bind with a null argument.

pack-priv AFSocketAddress
parseURI(URI u, int overridePort)

pack-priv static synchronized <A extends AFSocketAddress> @NonNull AFAddressFamily<A>
registerAddressFamily(String juxString, int domain, String addressClassname)

public static synchronized <
The supported address type.
A extends AFSocketAddress
>
AFAddressFamily<A>

Returns:

The corresponding AFAddressFamily instance.
registerAddressFamily
(String
The sockaddr_* identifier as registered in native code.
juxString
,
Class<A>
The supported address subclass.
addressClass
,
AFSocketAddressConfig<A>
The address-specific config object.
config
)

Registers an address family.

public static synchronized <
The supported address type.
A extends AFSocketAddress
>
AFAddressFamily<A>

Returns:

The corresponding AFAddressFamily instance.
registerAddressFamilyImpl
(String
The sockaddr_* identifier as registered in native code.
juxString
,
AFAddressFamily<A>
The supported address family as registered via registerAddressFamily(String, Class, AFSocketAddressConfig).
addressFamily
,
AFAddressFamilyConfig<A>
The address family-specific configuration object.
config
)

Registers an implementation.

pack-priv static synchronized void
public static synchronized Set<String>

Returns:

The set of supported URI schemes.
uriSchemes
()

Returns the set of supported URI schemes that can be parsed to some AFSocketAddress.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

addressClassback to summary
private @Nullable Class<A> addressClass
addressClassnameback to summary
private final String addressClassname
addressConfigback to summary
private AFSocketAddressConfig<A> addressConfig
addressConstructorback to summary
private AFSocketAddress.AFSocketAddressConstructor<A> addressConstructor
AF_MAPback to summary
private static final Map<String, AFAddressFamily<?>> AF_MAP
DEFERRED_INIT_DONEback to summary
private static final AtomicBoolean DEFERRED_INIT_DONE
domainback to summary
private final int domain
juxInetAddressSuffixback to summary
private final String juxInetAddressSuffix
juxStringback to summary
private final String juxString
selectorProviderback to summary
private SelectorProvider selectorProvider
selectorProviderClassnameback to summary
private String selectorProviderClassname
serverSocketConstructorback to summary
private AFServerSocket.Constructor<A> serverSocketConstructor
socketConstructorback to summary
private AFSocket.Constructor<A> socketConstructor
URI_SCHEMESback to summary
private static final Map<String, AFAddressFamily<?>> URI_SCHEMES

Constructor Detail

AFAddressFamilyback to summary
private AFAddressFamily(String juxString, int domain, String addressClassname)

Method Detail

checkDeferredInitback to summary
pack-priv static void checkDeferredInit()
checkProviderback to summary
private synchronized void checkProvider()
getAddressConstructorback to summary
pack-priv AFSocketAddress.AFSocketAddressConstructor<A> getAddressConstructor()
getAddressFamilyback to summary
pack-priv static synchronized AFAddressFamily<?> getAddressFamily(String juxString)
getAddressFamilyback to summary
pack-priv static AFAddressFamily<?> getAddressFamily(URI uri)
getDomainback to summary
pack-priv int getDomain()
getJuxInetAddressSuffixback to summary
pack-priv String getJuxInetAddressSuffix()
getJuxStringback to summary
pack-priv String getJuxString()
getSelectorProviderback to summary
public synchronized SelectorProvider getSelectorProvider()

Returns the SelectorProvider associated with this address family, or null if no such instance is registered.

Returns:SelectorProvider

The SelectorProvider.

Exceptions
IllegalStateException:
on error.
getServerSocketConstructorback to summary
pack-priv AFServerSocket.Constructor<A> getServerSocketConstructor()
getSocketAddressClassback to summary
pack-priv Class<A> getSocketAddressClass()
getSocketConstructorback to summary
pack-priv AFSocket.Constructor<A> getSocketConstructor()
initImplExtensionsback to summary
pack-priv AFSocketImplExtensions<A> initImplExtensions(AncillaryDataSupport ancillaryDataSupport)
Annotations
@SuppressWarnings:unchecked
newServerSocketback to summary
public AFServerSocket<?> newServerSocket() throws IOException

Creates a new, unconnected, unbound server socket compatible with this socket address.

Returns:AFServerSocket<?>

The server socket instance.

Exceptions
IOException:
on error.
newServerSocketChannelback to summary
public AFServerSocketChannel<?> newServerSocketChannel() throws IOException

Creates a new, unconnected, unbound ServerSocketChannel compatible with this socket address.

Returns:AFServerSocketChannel<?>

The socket instance.

Exceptions
IOException:
on error.
newSocketback to summary
public AFSocket<?> newSocket() throws IOException

Creates a new, unconnected, unbound socket compatible with this socket address.

Returns:AFSocket<?>

The socket instance.

Exceptions
IOException:
on error.
newSocketChannelback to summary
public AFSocketChannel<?> newSocketChannel() throws IOException

Creates a new, unconnected, unbound SocketChannel compatible with this socket address.

Returns:AFSocketChannel<?>

The socket instance.

Exceptions
IOException:
on error.
nullBindAddressback to summary
public SocketAddress nullBindAddress() throws IOException

Returns an appropriate SocketAddress to be used when calling bind with a null argument.

Returns:SocketAddress

The new socket address, or null.

Exceptions
IOException:
on error.
parseURIback to summary
pack-priv AFSocketAddress parseURI(URI u, int overridePort) throws SocketException
registerAddressFamilyback to summary
pack-priv static synchronized <A extends AFSocketAddress> @NonNull AFAddressFamily<A> registerAddressFamily(String juxString, int domain, String addressClassname)
Annotations
@SuppressWarnings:unchecked
registerAddressFamilyback to summary
public static synchronized <A extends AFSocketAddress> AFAddressFamily<A> registerAddressFamily(String juxString, Class<A> addressClass, AFSocketAddressConfig<A> config)

Registers an address family.

Parameters
<A>
The supported address type.
juxString:String

The sockaddr_* identifier as registered in native code.

addressClass:Class<A>

The supported address subclass.

config:AFSocketAddressConfig<A>

The address-specific config object.

Returns:AFAddressFamily<A>

The corresponding AFAddressFamily instance.

Annotations
@SuppressWarnings:unchecked, rawtypes
registerAddressFamilyImplback to summary
public static synchronized <A extends AFSocketAddress> AFAddressFamily<A> registerAddressFamilyImpl(String juxString, AFAddressFamily<A> addressFamily, AFAddressFamilyConfig<A> config)

Registers an implementation.

Parameters
<A>
The supported address type.
juxString:String

The sockaddr_* identifier as registered in native code.

addressFamily:AFAddressFamily<A>

The supported address family as registered via registerAddressFamily(String, Class, AFSocketAddressConfig).

config:AFAddressFamilyConfig<A>

The address family-specific configuration object.

Returns:AFAddressFamily<A>

The corresponding AFAddressFamily instance.

Annotations
@SuppressWarnings:unchecked, rawtypes, PMD.ExcessiveParameterList
triggerInitback to summary
pack-priv static synchronized void triggerInit()
uriSchemesback to summary
public static synchronized Set<String> uriSchemes()

Returns the set of supported URI schemes that can be parsed to some AFSocketAddress. The set is dependent on which AFSocketAddress implementations are registered with junixsocket.

Returns:Set<String>

The set of supported URI schemes.