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

pack-priv Class AFSocketCore

extends AFCore
Class Inheritance
Known Direct Subclasses
org.newsclub.net.unix.AFSocketImpl.AFSocketStreamCore
Imports
java.io.FileDescriptor, .IOException, java.lang.reflect.InvocationTargetException, java.net.SocketException, java.nio.ByteBuffer, java.util.concurrent.atomic.AtomicInteger, .AtomicLong, org.newsclub.net.unix.pool.ObjectPool.Lease

A shared core that is common for all AF* sockets (datagrams, streams).
Author
Christian Kohlschütter

Field Summary

Modifier and TypeField and Description
private final AFAddressFamily<?>
pack-priv final AtomicLong
inode

We keep track of the server's inode to detect when another server connects to our address.

private final AtomicInteger
private static final int
private boolean
pack-priv AFSocketAddress
Inherited from org.newsclub.net.unix.AFCore:
ancillaryDataSupportfd

Constructor Summary

AccessConstructor and Description
protected
AFSocketCore(Object observed, FileDescriptor fd, AncillaryDataSupport ancillaryDataSupport, AFAddressFamily<?> af, boolean datagramMode)

Method Summary

Modifier and TypeMethod and Description
protected AFAddressFamily<?>
protected void
protected void
pack-priv <T> T
protected boolean
protected void
pack-priv boolean
isConnected(boolean boundOk)

pack-priv boolean
pack-priv AFSocketAddress
receive(ByteBuffer dst, AFSupplier<Integer> socketTimeout)

pack-priv <T> void
setOption(AFSocketOption<T> name, T value)

pack-priv void
setShutdownOnClose(boolean enabled)

protected void
Inherited from org.newsclub.net.unix.AFCore:
configureVirtualBlockingdisableCleanFddoCleangetPrivateDirectByteBufferimplConfigureBlockingisBlockingisClosedisVirtualBlockingreadreadvalidFdvalidFdOrExceptionwritewrite

Field Detail

afback to summary
private final AFAddressFamily<?> af
inodeback to summary
pack-priv final AtomicLong inode

We keep track of the server's inode to detect when another server connects to our address.

pendingAcceptsback to summary
private final AtomicInteger pendingAccepts
SHUT_RD_WRback to summary
private static final int SHUT_RD_WR
shutdownOnCloseback to summary
private boolean shutdownOnClose
socketAddressback to summary
pack-priv AFSocketAddress socketAddress

Constructor Detail

AFSocketCoreback to summary
protected AFSocketCore(Object observed, FileDescriptor fd, AncillaryDataSupport ancillaryDataSupport, AFAddressFamily<?> af, boolean datagramMode)

Method Detail

addressFamilyback to summary
protected AFAddressFamily<?> addressFamily()
decPendingAcceptsback to summary
protected void decPendingAccepts()
doCloseback to summary
protected void doClose() throws IOException

Overrides org.newsclub.net.unix.AFCore.doClose.

Annotations
@Override
@SuppressWarnings:UnsafeFinalization
getOptionback to summary
pack-priv <T> T getOption(AFSocketOption<T> name) throws IOException
Annotations
@SuppressWarnings:unchecked
hasPendingAcceptsback to summary
protected boolean hasPendingAccepts()
incPendingAcceptsback to summary
protected void incPendingAccepts() throws SocketException
isConnectedback to summary
pack-priv boolean isConnected(boolean boundOk)
isShutdownOnCloseback to summary
pack-priv boolean isShutdownOnClose()
receiveback to summary
pack-priv AFSocketAddress receive(ByteBuffer dst, AFSupplier<Integer> socketTimeout) throws IOException
setOptionback to summary
pack-priv <T> void setOption(AFSocketOption<T> name, T value) throws IOException
setShutdownOnCloseback to summary
pack-priv void setShutdownOnClose(boolean enabled)
unblockAcceptsback to summary
protected void unblockAccepts()