Package net.dona.doip.client.transport
Class DoipConnectionImpl
- java.lang.Object
-
- net.dona.doip.client.transport.DoipConnectionImpl
-
- All Implemented Interfaces:
java.lang.AutoCloseable,DoipConnection
public class DoipConnectionImpl extends java.lang.Object implements DoipConnection
An implementation ofDoipConnection. Generally, instances of DoipConnection should be obtained using the methods ofTransportDoipClientorDoipConnectionPool. The user can send requests using thesendCompactRequest(DoipRequestHeaders),sendRequest(DoipRequestHeaders, InDoipMessage), andsendRequestToExchange(DoipRequestHeaders)methods. The user should callclose()when done (except when obtained from a pool, in which caseDoipConnectionPool.release(DoipConnection)should be called instead).
-
-
Constructor Summary
Constructors Constructor Description DoipConnectionImpl(java.net.Socket socket)Establishes a DoipConnection using the specified Socket.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()booleanisClosed()Returns true if the connection is closed.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
-
DoipConnectionImpl
public DoipConnectionImpl(java.net.Socket socket)
Establishes a DoipConnection using the specified Socket. Generally, instances of DoipConnection should be obtained using the methods ofTransportDoipClient.- Parameters:
socket-
-
-
Method Detail
-
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
-
-