Package net.dona.doip.client.transport
Class ReleaseOnceDoipConnection
- java.lang.Object
-
- net.dona.doip.client.transport.ReleaseOnceDoipConnection
-
- All Implemented Interfaces:
java.lang.AutoCloseable,DoipConnection
public class ReleaseOnceDoipConnection extends java.lang.Object implements DoipConnection
An implementation ofDoipConnectionwhich is used byDoipConnectionPooland ensures correct behavior for releasing connections back into the pool. Generally, instances should be obtained from aDoipConnectionPooland then released usingDoipConnectionPool.release(DoipConnection).
-
-
Constructor Summary
Constructors Constructor Description ReleaseOnceDoipConnection(DoipConnection conn)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()booleanisClosed()Returns true if the connection is closed.voidrelease()DoipClientResponsesendCompactRequest(DoipRequestHeaders request)Sends a "compact" request consisting of a single JSON segment, with the request "input" embedded in the initial segment.DoipClientResponsesendRequest(DoipRequestHeaders request, InDoipMessage in)Sends a request with the specified initial segment, and subsequent segments (the request "input") read from the supplied InDoipMessage.DoipExchangesendRequestToExchange(DoipRequestHeaders request)Sends a request using a specified initial segment, and providing aDoipExchangewhich allows writing additional segments as well as reading segments from the response.
-
-
-
Constructor Detail
-
ReleaseOnceDoipConnection
public ReleaseOnceDoipConnection(DoipConnection conn)
-
-
Method Detail
-
release
public void release()
-
isClosed
public boolean isClosed()
Description copied from interface:DoipConnectionReturns true if the connection is closed.- Specified by:
isClosedin interfaceDoipConnection- Returns:
- true if the connection is closed
-
sendCompactRequest
public DoipClientResponse sendCompactRequest(DoipRequestHeaders request) throws java.io.IOException
Description copied from interface:DoipConnectionSends a "compact" request consisting of a single JSON segment, with the request "input" embedded in the initial segment.- Specified by:
sendCompactRequestin interfaceDoipConnection- Parameters:
request- the single-segment "compact" request to be sent- Returns:
- the response
- Throws:
java.io.IOException
-
sendRequest
public DoipClientResponse sendRequest(DoipRequestHeaders request, InDoipMessage in) throws java.io.IOException
Description copied from interface:DoipConnectionSends a request with the specified initial segment, and subsequent segments (the request "input") read from the supplied InDoipMessage.- Specified by:
sendRequestin 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:
java.io.IOException
-
sendRequestToExchange
public DoipExchange sendRequestToExchange(DoipRequestHeaders request) throws java.io.IOException
Description copied from interface:DoipConnectionSends a request using a specified initial segment, and providing aDoipExchangewhich allows writing additional segments as well as reading segments from the response.- Specified by:
sendRequestToExchangein interfaceDoipConnection- Parameters:
request- the initial segment of the request (except the requestId which will be generated automatically)- Returns:
- an instance of
DoipExchangewhich allows writing additional segments as well as reading segments from the response - Throws:
java.io.IOException
-
close
public void close()
- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfaceDoipConnection
-
-