Interface DoipConnection

All Superinterfaces:
AutoCloseable
All Known Implementing Classes:
DoipConnectionImpl, ReleaseOnceDoipConnection

public interface DoipConnection extends AutoCloseable
A connection with a DOIP server. The user can send requests using the sendCompactRequest(DoipRequestHeaders), sendRequest(DoipRequestHeaders, InDoipMessage), and sendRequestToExchange(DoipRequestHeaders) methods. The user should call close() when done (except when obtained from a pool, in which case DoipConnectionPool.release(DoipConnection) should be called instead).
  • Method Details

    • isClosed

      boolean isClosed()
      Returns true if the connection is closed.
      Returns:
      true if the connection is closed
    • sendCompactRequest

      DoipClientResponse sendCompactRequest(DoipRequestHeaders request) throws IOException
      Sends a "compact" request consisting of a single JSON segment, with the request "input" embedded in the initial segment.
      Parameters:
      request - the single-segment "compact" request to be sent
      Returns:
      the response
      Throws:
      IOException
    • sendRequest

      Sends a request with the specified initial segment, and subsequent segments (the request "input") read from the supplied InDoipMessage.
      Parameters:
      request - the initial segment of the request (except the requestId which will be generated automatically)
      in - the remaining segments of the request
      Returns:
      the response
      Throws:
      IOException
    • sendRequestToExchange

      DoipExchange sendRequestToExchange(DoipRequestHeaders request) throws IOException
      Sends a request using a specified initial segment, and providing a DoipExchange which allows writing additional segments as well as reading segments from the response.
      Parameters:
      request - the initial segment of the request (except the requestId which will be generated automatically)
      Returns:
      an instance of DoipExchange which allows writing additional segments as well as reading segments from the response
      Throws:
      IOException
    • close

      void close()
      Specified by:
      close in interface AutoCloseable