com.cosylab.epics.caj.impl.handlers
Class AbstractCAResponseHandler

java.lang.Object
  extended by com.cosylab.epics.caj.impl.handlers.AbstractCAResponseHandler
All Implemented Interfaces:
ResponseHandler
Direct Known Subclasses:
AbstractCAJResponseHandler, AbstractCASResponseHandler

public abstract class AbstractCAResponseHandler
extends Object
implements ResponseHandler

Version:
$id$
Author:
Matej Sekoranja

Field Summary
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 Summary
AbstractCAResponseHandler(String description)
           
 
Method Summary
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

description

protected String description
CA response description.


command

protected short command
Command field of the header.


payloadSize

protected int payloadSize
Payload size field of the header.


dataType

protected short dataType
Data type field of the header.


dataCount

protected int dataCount
Data count field of the header. NOTE: extended


parameter1

protected int parameter1
Parameter 1 field of the header.


parameter2

protected int parameter2
Parameter 2 field of the header.


debug

protected boolean debug
Debug flag.

Constructor Detail

AbstractCAResponseHandler

public AbstractCAResponseHandler(String description)
Parameters:
description -
Method Detail

handleResponse

public void handleResponse(InetSocketAddress responseFrom,
                           Transport transport,
                           ByteBuffer[] response)
NOTE: (Extended) header buffer size validation should have been already done. 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.

Specified by:
handleResponse in interface ResponseHandler
Parameters:
responseFrom - 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.
See Also:
ResponseHandler.handleResponse(java.net.InetSocketAddress, com.cosylab.epics.caj.impl.Transport, java.nio.ByteBuffer[])

internalHandleResponse

protected abstract void internalHandleResponse(InetSocketAddress responseFrom,
                                               Transport transport,
                                               ByteBuffer[] response)
Called after header is parsed by parseHeader() method.

See Also:
ResponseHandler.handleResponse(java.net.InetSocketAddress, com.cosylab.epics.caj.impl.Transport, java.nio.ByteBuffer[])

parseHeader

protected void parseHeader(ByteBuffer headerBuffer)
Parse CA response header.

Parameters:
headerBuffer - response header to be parsed.


Copyright © 2004-2013 Cosylab. All Rights Reserved.