/** * @see com.cosylab.epics.caj.impl.handlers.AbstractCAJResponseHandler#internalHandleResponse(java.net.InetSocketAddress, com.cosylab.epics.caj.impl.Transport, java.nio.ByteBuffer[]) */ protected void internalHandleResponse( InetSocketAddress responseFrom, Transport sourceTransport, ByteBuffer[] response) { // NOTE: sequental IDs are implemented from v4.10+ long timestamp = System.currentTimeMillis(); // old version servers do not supply port, // set default one if (dataCount == 0) dataCount = (short)context.getServerPort(); InetAddress addr = InetAddressUtil.intToIPv4Address(parameter2); responseFrom = new InetSocketAddress(addr, dataCount); CABeaconHandler beaconHandler = context.getBeaconHandler(responseFrom); // currently we care only for servers used by this context if (beaconHandler == null) return; // convert unsigned int to signed long long sequentalID = parameter1 & 0x00000000FFFFFFFFL; // dataType contains minor protocol revision // notify beacon handler beaconHandler.beaconNotify(dataType, timestamp, sequentalID); }
/** * @see com.cosylab.epics.caj.impl.handlers.AbstractCAJResponseHandler#internalHandleResponse(java.net.InetSocketAddress, com.cosylab.epics.caj.impl.Transport, java.nio.ByteBuffer[]) */ protected void internalHandleResponse( InetSocketAddress responseFrom, Transport sourceTransport, ByteBuffer[] response) { // NOTE: sequental IDs are implemented from v4.10+ long timestamp = System.currentTimeMillis(); // old version servers do not supply port, // set default one if (dataCount == 0) dataCount = (short)context.getServerPort(); InetAddress addr = InetAddressUtil.intToIPv4Address(parameter2); responseFrom = new InetSocketAddress(addr, dataCount); CABeaconHandler beaconHandler = context.getBeaconHandler(responseFrom); // currently we care only for servers used by this context if (beaconHandler == null) return; // convert unsigned int to signed long long sequentalID = parameter1 & 0x00000000FFFFFFFFL; // dataType contains minor protocol revision // notify beacon handler beaconHandler.beaconNotify(dataType, timestamp, sequentalID); }