Class ReleaseOnceDoipConnection

java.lang.Object
net.dona.doip.client.transport.ReleaseOnceDoipConnection
All Implemented Interfaces:
AutoCloseable, DoipConnection

public class ReleaseOnceDoipConnection extends Object implements DoipConnection
An implementation of DoipConnection which is used by DoipConnectionPool and ensures correct behavior for releasing connections back into the pool. Generally, instances should be obtained from a DoipConnectionPool and then released using DoipConnectionPool.release(DoipConnection).
  • Constructor Details

    • ReleaseOnceDoipConnection

      public ReleaseOnceDoipConnection(DoipConnection conn)
  • Method Details

    • release

      public void release()
    • isClosed

      public boolean isClosed()
      Description copied from interface: DoipConnection
      Returns true if the connection is closed.
      Specified by:
      isClosed in interface DoipConnection
      Returns:
      true if the connection is closed
    • sendCompactRequest

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

      public DoipClientResponse sendRequest(DoipRequestHeaders request, InDoipMessage in) throws IOException
      Description copied from interface: DoipConnection
      Sends a request with the specified initial segment, and subsequent segments (the request "input") read from the supplied InDoipMessage.
      Specified by:
      sendRequest in interface DoipConnection
      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

      public DoipExchange sendRequestToExchange(DoipRequestHeaders request) throws IOException
      Description copied from interface: DoipConnection
      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.
      Specified by:
      sendRequestToExchange in interface DoipConnection
      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

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface DoipConnection