route(packetToSend);
}
challengeManager.clearPackets(challengeId);
Message successMessage = new Message();
successMessage.setTo( packet.getFrom() );
successMessage.setFrom( packet.getTo() );
successMessage.setBody( "Anti-Spim Device: Thank you. Your messages have been forwarded.");
route(successMessage);
throw new PacketRejectedException("Robot Olympics: Passed challenge; discarding.");
} else {
Message failureMessage = new Message();
failureMessage.setTo( packet.getFrom() );
failureMessage.setFrom( packet.getTo() );
PacketError error = new PacketError(PacketError.Condition.not_acceptable,
PacketError.Type.cancel,
"Anti-Spim Device: Failed, but you can keep trying.");
failureMessage.setError(error);
route(failureMessage);
}
} else {
Message failureMessage = new Message();
failureMessage.setTo( packet.getFrom() );
failureMessage.setFrom( packet.getTo() );
failureMessage.setBody( "Anti-Spim Device: Please complete the robot challenge.");
route(failureMessage);
challengeManager.appendPacket(packet);
throw new PacketRejectedException("Robot Olympics: Must meet challenge.");
}