Klasse AbstractTransport

java.lang.Object
org.freedesktop.dbus.connections.transports.AbstractTransport
Alle implementierten Schnittstellen:
Closeable, AutoCloseable
Bekannte direkte Unterklassen:
AbstractUnixTransport

public abstract class AbstractTransport extends Object implements Closeable
Base class for all transport types.
Seit:
v3.2.0 - 2019-02-08
Autor:
hypfvieh
  • Konstruktordetails

  • Methodendetails

    • writeMessage

      public void writeMessage(Message _msg) throws IOException
      Write a message to the underlying socket.
      Parameter:
      _msg - message to write
      Löst aus:
      IOException - on write error or if output was already closed or null
    • readMessage

      public Message readMessage() throws IOException, DBusException
      Read a message from the underlying socket.
      Gibt zurück:
      read message, maybe null
      Löst aus:
      IOException - when input already close or null
      DBusException - when message could not be converted to a DBus message
    • isConnected

      public boolean isConnected()
      Returns true if inputReader and outputWriter are not yet closed.
      Gibt zurück:
      boolean
    • hasFileDescriptorSupport

      protected abstract boolean hasFileDescriptorSupport()
      Method to indicate if passing of file descriptors is allowed.
      Gibt zurück:
      true to allow FD passing, false otherwise
    • isAbstractAllowed

      @Deprecated(forRemoval=true, since="4.2.0 - 2022-07-18") protected abstract boolean isAbstractAllowed()
      Veraltet, zur Entfernung: Dieses API-Element wird in einer zukünftigen Version entfernt.
      Is no longer used and will be removed
      Return true if the transport supports 'abstract' sockets.
      Gibt zurück:
      true if abstract sockets supported, false otherwise
    • connectImpl

      protected abstract SocketChannel connectImpl() throws IOException
      Abstract method implemented by concrete sub classes to establish a connection using whatever transport type (e.g. TCP/Unix socket).
      Löst aus:
      IOException - when connection fails
    • connect

      public final SocketChannel connect() throws IOException
      Establish connection on created transport.

      This method can only be used for non-listening connections.
      Trying to use this with listening addresses will throw an InvalidBusAddressException.

      Gibt zurück:
      SocketChannel of the created connection
      Löst aus:
      IOException - if connection fails
    • isListening

      public final boolean isListening()
      True if this transport connection is a listening (server) connection.
      Gibt zurück:
      boolean
    • listen

      public final TransportConnection listen() throws IOException
      Start listening on created transport.

      This method can only be used for listening connections.
      Trying to use this with non-listening addresses will throw an InvalidBusAddressException.

      Will return the TransportConnection as soon as a client connects.
      Therefore this method should be called in a loop to accept multiple clients

      Gibt zurück:
      TransportConnection containing created SocketChannel and IMessageReader/IMessageWriter
      Löst aus:
      IOException - if connection fails
    • setPreConnectCallback

      public void setPreConnectCallback(Consumer<AbstractTransport> _run)
      Set a callback which will be called right before the connection will be established to the transport.
      Parameter:
      _run - runnable to execute, null if no callback should be executed
      Seit:
      4.2.0 - 2022-07-20
    • getAddress

      protected BusAddress getAddress()
      Returns the BusAddress used for this transport.
      Gibt zurück:
      BusAddress, never null
    • getLogger

      protected org.slf4j.Logger getLogger()
      Get the logger in subclasses.
      Gibt zurück:
      Logger, never null
    • getSaslConfig

      protected SaslConfig getSaslConfig()
      Returns the current configuration used for SASL authentication.
      Gibt zurück:
      SaslConfig, never null
    • getSaslAuthMode

      @Deprecated(since="4.2.0 - 2022-07-22", forRemoval=true) protected int getSaslAuthMode()
      Veraltet, zur Entfernung: Dieses API-Element wird in einer zukünftigen Version entfernt.
      please use getSaslConfig().getAuthMode() instead
      Set the SASL authentication mode.
    • getSaslMode

      @Deprecated(since="4.2.0 - 2022-07-22", forRemoval=true) protected SASL.SaslMode getSaslMode()
      Veraltet, zur Entfernung: Dieses API-Element wird in einer zukünftigen Version entfernt.
      please use getSaslConfig().getMode() instead
      Set the SASL authentication mode.
    • setSaslMode

      @Deprecated(since="4.2.0 - 2022-07-22", forRemoval=true) protected void setSaslMode(SASL.SaslMode _saslMode)
      Veraltet, zur Entfernung: Dieses API-Element wird in einer zukünftigen Version entfernt.
      please use getSaslConfig().setMode(int) instead
      Set the SASL mode (server or client).
      Parameter:
      _saslMode - mode to set
    • setSaslAuthMode

      @Deprecated(since="4.2.0 - 2022-07-22", forRemoval=true) protected void setSaslAuthMode(int _mode)
      Veraltet, zur Entfernung: Dieses API-Element wird in einer zukünftigen Version entfernt.
      please use getSaslConfig().setSaslAuthMode(int) instead
      Set the SASL authentication mode.
      Parameter:
      _mode - mode to set
    • getTransportConfig

      public TransportConfig getTransportConfig()
    • toString

      public String toString()
      Setzt außer Kraft:
      toString in Klasse Object
    • close

      public void close() throws IOException
      Angegeben von:
      close in Schnittstelle AutoCloseable
      Angegeben von:
      close in Schnittstelle Closeable
      Löst aus:
      IOException