Package net.dona.doip.client.transport
Class ReleaseOnceDoipConnection
java.lang.Object
net.dona.doip.client.transport.ReleaseOnceDoipConnection
- All Implemented Interfaces:
AutoCloseable
,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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
boolean
isClosed()
Returns true if the connection is closed.void
release()
sendCompactRequest
(DoipRequestHeaders request) Sends a "compact" request consisting of a single JSON segment, with the request "input" embedded in the initial segment.sendRequest
(DoipRequestHeaders request, InDoipMessage in) Sends a request with the specified initial segment, and subsequent segments (the request "input") read from the supplied InDoipMessage.sendRequestToExchange
(DoipRequestHeaders request) Sends a request using a specified initial segment, and providing aDoipExchange
which allows writing additional segments as well as reading segments from the response.
-
Constructor Details
-
ReleaseOnceDoipConnection
-
-
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 interfaceDoipConnection
- Returns:
- true if the connection is closed
-
sendCompactRequest
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 interfaceDoipConnection
- 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 interfaceDoipConnection
- 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
Description copied from interface:DoipConnection
Sends a request using a specified initial segment, and providing aDoipExchange
which allows writing additional segments as well as reading segments from the response.- Specified by:
sendRequestToExchange
in interfaceDoipConnection
- 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 interfaceAutoCloseable
- Specified by:
close
in interfaceDoipConnection
-