/** * Sends a Response Packet to a {@link Destination}. * @param packet Can be <code>null</code> for a response that only contains a status code. * @param destination * @param statusCode * @param requestPacketId The packet id of the packet we're responding to */ public void sendResponse(DataPacket packet, Destination destination, StatusCode statusCode, UniqueId requestPacketId) { send(ResponsePacket.create(packet, statusCode, requestPacketId), destination); }
@Before public void setUp() throws Exception { byte[] packetIdBytes = new byte[] {120, 120, -8, -88, 21, 126, 46, -61, 18, -101, 15, 53, 20, -44, -112, 42, 86, -117, 30, -96, -66, 33, 71, -55, -102, -78, 78, -82, -105, 66, -116, 43}; UniqueId packetId = new UniqueId(packetIdBytes, 0); Collection<ResponsePacket> responsePackets = ResponsePacket.create(createDataPacket(), StatusCode.OK, packetId); assertEquals(1, responsePackets.size()); responsePacket = responsePackets.iterator().next(); }
DhtStorablePacket storedPacket = storageHandler.retrieve(retrieveRequest.getKey()); Collection<ResponsePacket> response = ResponsePacket.create(storedPacket, StatusCode.OK, retrieveRequest.getPacketId()); if (storedPacket != null) log.debug("Packet found for retrieve request: [" + retrieveRequest + "], replying to sender: [" + Util.toBase32(sender) + "]"); DeletionInfoPacket delInfo = new DeletionInfoPacket(); delInfo.put(dhtKey, delAuthorization); Collection<ResponsePacket> response = ResponsePacket.create(delInfo, StatusCode.OK, packet.getPacketId()); sendQueue.send(response, sender);