public abstract class AbstractCAResponseHandler extends Object implements ResponseHandler
| Modifier and Type | Field and Description |
|---|---|
protected short |
command
Command field of the header.
|
protected int |
dataCount
Data count field of the header.
|
protected short |
dataType
Data type field of the header.
|
protected boolean |
debug
Debug flag.
|
protected String |
description
CA response description.
|
protected int |
parameter1
Parameter 1 field of the header.
|
protected int |
parameter2
Parameter 2 field of the header.
|
protected int |
payloadSize
Payload size field of the header.
|
| Constructor and Description |
|---|
AbstractCAResponseHandler(String description) |
| Modifier and Type | Method and Description |
|---|---|
void |
handleResponse(InetSocketAddress responseFrom,
Transport transport,
ByteBuffer[] response)
NOTE: (Extended) header buffer size validation should have been already done.
|
protected abstract void |
internalHandleResponse(InetSocketAddress responseFrom,
Transport transport,
ByteBuffer[] response)
Called after header is parsed by
parseHeader() method. |
protected void |
parseHeader(ByteBuffer headerBuffer)
Parse CA response header.
|
protected String description
protected short command
protected int payloadSize
protected short dataType
protected int dataCount
protected int parameter1
protected int parameter2
protected boolean debug
public AbstractCAResponseHandler(String description)
description - public void handleResponse(InetSocketAddress responseFrom, Transport transport, ByteBuffer[] response)
response is array of maximum of 2 elments:
#UDP: contains whole response
#TCP: first element contains complete standard or extended response message header, second whole payload.
No buffer size checking is done.handleResponse in interface ResponseHandlerresponseFrom - remove address of the responder, null if unknown.transport - response source transport.response - array of response messages to handle.
First buffer in array has to contain whole (extended) message header.ResponseHandler.handleResponse(java.net.InetSocketAddress, com.cosylab.epics.caj.impl.Transport, java.nio.ByteBuffer[])protected abstract void internalHandleResponse(InetSocketAddress responseFrom, Transport transport, ByteBuffer[] response)
parseHeader() method.protected void parseHeader(ByteBuffer headerBuffer)
headerBuffer - response header to be parsed.Copyright © 2004-2020 EPICS. All Rights Reserved.