Top Description Interfaces Annotations Classes Enums
module org.newsclub.net.unix

Package org.newsclub.net.unix


The junixsocket base implementation, including support for AF_UNIX sockets.

Interface Summary

Modifier and TypeInterface and Description
pack-priv interface
AFFunction<
the type of the input to the function
T
,
the type of the result of the function
R
>

junixsocket-internal variant of java.util.Function, to allow compiling junixsocket-common with retrolambda for Java 1.7.

pack-priv interface
AFFuture<
the type of results supplied by this supplier
T
>

junixsocket-internal variant of a bare-bones Future, to allow compiling junixsocket-common with retrolambda for Java 1.7.

pack-priv interface
AFGenericSocketExtensions

Defines certain methods that all junixsocket unknown-type socket implementations share and extend beyond the standard socket API.

public interface
AFIOSupplier<
the type of results supplied by this supplier
T
>

A supplier that can throw an IOException.

public interface
AFProtocolFamily

A junixsocket-based protocol family.

public interface
AFServerSocketConnector<
The address type to bind to.
A extends AFSocketAddress
,
The address type for the returned server socket (which should either be identical to A or AFSocketAddress to indicate that this could be any socket).
T extends AFSocketAddress
>

Some connector that is able to create AFServerSockets bound to a given AFSocketAddress.

public interface
AFSocketAddressFromHostname<
The supported address type.
A extends AFSocketAddress
>

Helps converting an internet "hostname" to an AFSocketAddress.

public interface
AFSocketConnector<
The address type to connect to.
A extends AFSocketAddress
,
The address type for the returned socket (which should either be identical to A or AFSocketAddress to indicate that this could be any socket).
T extends AFSocketAddress
>

Some connector that is able to connect to a given AFSocketAddress.

public interface
AFSocketExtensions

Defines certain methods that all junixsocket socket implementations share and extend beyond the standard socket API.

public interface
AFSocketImplExtensions<
The corresponding address type.
A extends AFSocketAddress
>

Placeholder for protocol-specific code that resides in the native library.

public interface
AFSomeSocket

Marker interface that combines junixsocket-based SocketChannels, Sockets, DatagramChannels and DatagramSockets.

public interface
AFSomeSocketChannel

Marker interface that combines junixsocket-based SocketChannels, DatagramChannels or ServerSocketChannels.

public interface
AFSomeSocketThing

Marker interface that combines junixsocket-based SocketChannels, Sockets, DatagramChannels and DatagramSockets, as well as ServerSockets and ServerSocketChannels.

pack-priv interface
AFSupplier<
the type of results supplied by this supplier
T
>

junixsocket-internal variant of java.util.Supplier, to allow compiling junixsocket-common with retrolambda for Java 1.7.

public interface
AFUNIXSocketExtensions

Defines certain methods that all junixsocket AF_UNIX socket implementations share and extend beyond the standard socket API.

public interface
FileDescriptorAccess

Something that has a FileDescriptor.

public interface
SocketAddressFilter

A filter that takes a SocketAddress, and potentially changes it, or throws an exception if certain criteria are met.

pack-priv interface
VirtualThreadPoller

Helper class to support polling "virtually blocked" file descriptors for virtual threads.

Annotation Summary

Modifier and TypeAnnotation and Description
public @interface
Unsafe

Declares some operation "unsafe", which is guarded via AFSocketCapability#CAPABILITY_UNSAFE.

Class Summary

Modifier and TypeClass and Description
public class
AddressUnavailableSocketException

A SocketException that may be thrown upon some "address unavailable" condition from native code (e.g., EADDRNOTAVAIL is returned).

public class
AFAddressFamily<
The corresponding AFSocketAddress subclass.
A extends AFSocketAddress
>

Describes an address family supported by junixsocket.

public abstract class
AFAddressFamilyConfig<
The supported address type.
A extends AFSocketAddress
>

The implementation-specifics for a given address family implementation.

pack-priv class
AFCore

The core functionality of file descriptor based I/O.

public abstract class
AFDatagramChannel<
The supported address type.
A extends AFSocketAddress
>

A DatagramChannel implementation that works with junixsocket.

public abstract class
AFDatagramSocket<
The concrete AFSocketAddress that is supported by this type.
A extends AFSocketAddress
>

A DatagramSocket implementation that works with junixsocket.

public abstract class
AFDatagramSocketImpl<
The associated address type.
A extends AFSocketAddress
>

A DatagramSocketImpl implemented by junixsocket.

pack-priv class
AFGenericDatagramChannel

A DatagramChannel implementation that works with AF_SYSTEM sockets.

pack-priv class
AFGenericDatagramSocket

A DatagramSocket implementation that works with AF_SYSTEM sockets.

pack-priv class
pack-priv class
AFGenericSelectorProvider

Service-provider class for junixsocket selectors and selectable channels.

pack-priv class
AFGenericServerSocket

The server part of a "unknown-type" socket.

pack-priv class
AFGenericServerSocketChannel

A selectable channel for stream-oriented listening sockets.

pack-priv class
AFGenericSocket

Implementation of an unknown-type socket.

public class
AFGenericSocketAddress

An AFSocketAddress for unknown socket types.

pack-priv class
AFGenericSocketChannel

A selectable channel for stream-oriented connecting sockets.

pack-priv abstract class
AFGenericSocketFactory

The base for a SocketFactory that connects to unknown-type sockets.

pack-priv class
pack-priv class
AFGenericSocketImplExtensions

Code specific to generic-socket support that resides in the native library.

pack-priv class
AFGenericSocketOptions

Socket options for generic socket types.

pack-priv class
AFGenericSocketPair<
The socket type.
T extends AFSomeSocket
>

A pair of sockets.

pack-priv class
AFInetAddress

A workaround to create an InetAddress for an AFSocketAddress.

public abstract class
public abstract class
public class
AFPipe

A Pipe, natively implemented.

pack-priv class
pack-priv class
public abstract class
AFSelectorProvider<
The concrete AFSocketAddress that is supported by this type.
A extends AFSocketAddress
>

Service-provider class for junixsocket selectors and selectable channels.

public abstract class
AFServerSocket<
The concrete AFSocketAddress that is supported by this type.
A extends AFSocketAddress
>

The server part of a junixsocket socket.

public abstract class
AFServerSocketChannel<
The concrete AFSocketAddress that is supported by this type.
A extends AFSocketAddress
>

A selectable channel for stream-oriented listening sockets.

public abstract class
AFSocket<
The concrete AFSocketAddress that is supported by this type.
A extends AFSocketAddress
>

junixsocket's base implementation of a Socket.

public abstract class
AFSocketAddress

Some SocketAddress that is supported by junixsocket, such as AFUNIXSocketAddress.

public abstract class
AFSocketAddressConfig<
The supported address type.
A extends AFSocketAddress
>

The implementation-specifics for a given AFSocketAddress subclass implementation.

public abstract class
AFSocketChannel<
The concrete AFSocketAddress that is supported by this type.
A extends AFSocketAddress
>

A selectable channel for stream-oriented connecting sockets.

pack-priv class
AFSocketCore

A shared core that is common for all AF* sockets (datagrams, streams).

public abstract class
AFSocketFactory<
The supported address type.
A extends AFSocketAddress
>

The base for a SocketFactory that connects to UNIX sockets.

public abstract class
AFSocketImpl<
The supported address type.
A extends AFSocketAddress
>

junixsocket-based SocketImpl.

public class
AFSocketOption<
The option's value type.
T
>

A special socket option supported by some junixsocket-based implementation.

public abstract class
AFSocketPair<
The socket type.
T extends AFSomeSocket
>

A pair of sockets.

public class
AFSYSTEMSocketAddress

An AFSocketAddress for AF_SYSTEM sockets.

public class
AFSYSTEMSocketImplExtensions

AF_SYSTEM-specific code that resides in the native library.

public class
public class
AFTIPCSocketImplExtensions

TIPC-specific code that resides in the native library.

public class
AFUNIXDatagramChannel

A DatagramChannel implementation that works with AF_UNIX Unix domain sockets.

public class
AFUNIXDatagramSocket

A DatagramSocket implementation that works with AF_UNIX Unix domain sockets.

pack-priv class
public class
AFUNIXSelectorProvider

Service-provider class for junixsocket selectors and selectable channels.

public class
AFUNIXServerSocket

The server part of an AF_UNIX domain socket.

public class
AFUNIXServerSocketChannel

A selectable channel for stream-oriented listening sockets.

public class
AFUNIXSocket

Implementation of an AF_UNIX domain socket.

public class
AFUNIXSocketAddress

Describes an InetSocketAddress that actually uses AF_UNIX sockets instead of AF_INET.

public class
AFUNIXSocketChannel

A selectable channel for stream-oriented connecting sockets.

public class
AFUNIXSocketCredentials

AF_UNIX socket credentials.

public abstract class
AFUNIXSocketFactory

The base for a SocketFactory that connects to UNIX sockets.

pack-priv class
public class
AFUNIXSocketPair<
The socket type.
T extends AFSomeSocket
>

A pair of sockets.

public class
public class
AFVSOCKSocketImplExtensions

VSOCK-specific code that resides in the native library.

pack-priv class
public class
BrokenPipeSocketException

A SocketException indicating that a socket connection was broken ("broken pipe").

pack-priv class
BuildProperties

Properties that are populated upon build time.

pack-priv abstract class
CleanableState

This wrapper (along with the Java 8-specific counterpart in src/main/java8) allows us to implement cleanup logic for objects that are garbage-collectable/no longer reachable.

public class
CloseablePair<
The type of the items.
T extends Closeable
>

A pair of two closeable items.

public class
Closeables

A set of Closeables that can be closed at once.

public class
ConnectionResetSocketException

A SocketException indicating that a socket connection was reset.

pack-priv abstract class
DatagramSocketImplShim

A shim that is filled with Java version-specific overrides.

pack-priv abstract class
public class
FileDescriptorCast

Provides object-oriented access to file descriptors via InputStream, Socket, etc., depending on the file descriptor type.

public class
HostAndPort

Hostname and port.

pack-priv class
InterruptibleChannelUtil

Helper methods when working with AbstractInterruptibleChannel subclasses.

public class
InvalidArgumentSocketException

A SocketException that may be thrown upon some "invalid argument" being passed into native code (i.e., EINVAL is returned).

public class
InvalidSocketException

A SocketException that may be thrown upon some "invalid" state, mostly detected in native code.

pack-priv class
Java7Util

Helper class to allow codebase to remain compatible with Java 7 (via retrolambda, animal-sniffer).

public class
KnownJavaBugIOException

Thrown when a known Java/JRE/JDK bug was encountered.

pack-priv class
MapValueSet<
The element type.
T
, V>

A Set that is a view on the keys of a Map that have a certain value.

public class
NamedInteger

A "named integer", usually used for constants.

public abstract class
NamedIntegerBitmask<
The subclass's type itself.
T extends NamedIntegerBitmask<T>
>

Describes a 32-bit bitmask that supports named flags.

pack-priv class
pack-priv class
NativeUnixSocket

JNI connector to native JNI C code.

public class
NoSuchDeviceSocketException

A SocketException that may be thrown upon some "no such device" condition from native code (e.g., ENODEV is returned).

public class
NotBoundSocketException

A SocketException indicating that a socket was not bound when attempting to read or write.

public class
NotConnectedSocketException

A SocketException indicating that a socket was not connected when attempting to read or write.

public class
OperationNotSupportedSocketException

A SocketException that may be thrown upon some "unsupported operation" condition from native code (e.g., ENOTSUP, EOPNOTSUPP, EPROTONOSUPPORT, ESOCKTNOSUPPORT, EPFNOSUPPORT, EAFNOSUPPORT is returned).

pack-priv class
PathUtil

Some Path-related helper methods.

pack-priv class
RAFChannelProvider

Hack to get a readable AND writable FileChannel for a FileDescriptor.

pack-priv abstract class
pack-priv class
pack-priv class
SocketAddressUtil

SocketAddress-related helper methods.

pack-priv class
SocketClosedByInterruptException

A SocketException indicating that a socket was closed by interrupt.

public class
SocketClosedException

A SocketException indicating that a socket was closed or is not open for other reasons.

pack-priv abstract class
SocketImplShim

A shim that is filled with Java version-specific overrides.

pack-priv class
SocketOptionsMapper

Maps new SocketOption classes to the old integer-based scheme.

public class
StackTraceUtil

Internal helper class to dump stack traces when deemed appropriate.

public class
ThreadUtil

Helper class to support certain Thread-specific features.

pack-priv class
UngrowableSet<
The element type.
T
>

A Set that won't allow adding elements.

pack-priv class
VirtualThreadPollerNaive

"Naive" implementation of VirtualThreadPoller, using NativeUnixSocket#poll(PollFd, int) on non-virtual threads.

Enum Summary

Modifier and TypeEnum and Description
pack-priv enum
AFGenericProtocolFamily

Describes the protocol families supported by junixsocket-afsystem.

public enum
AFSocketCapability

Describes junixsocket capabilities the current environment (system platform, native library, etc.) may or may not support.

public enum
AFSocketProtocol

Describes the "protocol" part of a socket.

public enum
AFSocketType

Describes the "type" of a socket.

public enum
AFUNIXProtocolFamily

Describes the protocol family supported by AFUNIXSocketAddress etc.

public enum
AFUNIXSocketCapability

Deprecated
Describes junixsocket capabilities the current environment (system platform, native library, etc.) may or may not support.