Class NativeUnixSocketTransport
java.lang.Object
org.freedesktop.dbus.connections.transports.AbstractTransport
org.freedesktop.dbus.connections.transports.AbstractUnixTransport
org.freedesktop.dbus.transport.jre.NativeUnixSocketTransport
- All Implemented Interfaces:
Closeable,AutoCloseable
Transport type representing a transport connection to a unix socket.
This implementation uses features of Java 16+ to connect to a unix
socket without a 3rd party library.
Please note: The functionality of the native unix sockets in Java are
limited. 'Side-channel' communication (e.g. passing file descriptors)
is not possible (unlike using jnr-unix socket + dbus-java-nativefd).
Also using 'abstract' sockets is not possible when using this native implementation.
In most cases this implementation should suit our needs.
If it does not fit for you, use jnr-unixsocket instead.
- Since:
- v4.0.0 - 2021-09-01
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ServerSocketChannelprivate SocketChannelprivate final UnixDomainSocketAddress -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Establish a connection to DBus using unix sockets.intgetUid(SocketChannel _sock) protected booleanMethod to indicate if passing of file descriptors is allowed.booleanDeprecated.Methods inherited from class org.freedesktop.dbus.connections.transports.AbstractTransport
connect, getAddress, getLogger, getSaslAuthMode, getSaslConfig, getSaslMode, isConnected, listen, readMessage, setPreConnectCallback, setSaslAuthMode, setSaslMode, toString, writeMessage
-
Field Details
-
unixSocketAddress
-
socket
-
serverSocket
-
-
Constructor Details
-
NativeUnixSocketTransport
NativeUnixSocketTransport(UnixBusAddress _address, TransportConfig _config) throws TransportConfigurationException - Throws:
TransportConfigurationException
-
-
Method Details
-
hasFileDescriptorSupport
protected boolean hasFileDescriptorSupport()Description copied from class:AbstractTransportMethod to indicate if passing of file descriptors is allowed.- Specified by:
hasFileDescriptorSupportin classAbstractTransport- Returns:
- true to allow FD passing, false otherwise
-
connectImpl
Establish a connection to DBus using unix sockets.- Specified by:
connectImplin classAbstractTransport- Throws:
IOException- on error
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classAbstractTransport- Throws:
IOException
-
isAbstractAllowed
Deprecated.Description copied from class:AbstractTransportReturn true if the transport supports 'abstract' sockets.- Specified by:
isAbstractAllowedin classAbstractTransport- Returns:
- true if abstract sockets supported, false otherwise
-
getUid
- Specified by:
getUidin classAbstractUnixTransport- Throws:
IOException
-