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 ofDoipConnection
which is used byDoipConnectionPool
and ensures correct behavior for releasing connections back into the pool. Generally, instances should be obtained from aDoipConnectionPool
and 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 void
close()
boolean
isClosed()
Returns true if the connection is closed.void
release()
DoipClientResponse
sendCompactRequest(DoipRequestHeaders request)
Sends a "compact" request consisting of a single JSON segment, with the request "input" embedded in the initial segment.DoipClientResponse
sendRequest(DoipRequestHeaders request, InDoipMessage in)
Sends a request with the specified initial segment, and subsequent segments (the request "input") read from the supplied InDoipMessage.DoipExchange
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 Detail
-
ReleaseOnceDoipConnection
public ReleaseOnceDoipConnection(DoipConnection conn)
-
-
Method Detail
-
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
public DoipClientResponse sendCompactRequest(DoipRequestHeaders request) throws java.io.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 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: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:
java.io.IOException
-
sendRequestToExchange
public DoipExchange sendRequestToExchange(DoipRequestHeaders request) throws java.io.IOException
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:
java.io.IOException
-
close
public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfaceDoipConnection
-
-