+ protected void consumeProtocolError(ProtocolError protocolError) {
+ if (protocolError.getIdentifier().equals(identifier.get())) {
+ if (protocolError.getCode() == 25) {
+ sendMessage(new TestDDARequest(directory.get(), true, false));
+ } else {
+ putFinished.set(true);
+ }
+ }
+ }
+
+ @Override
+ protected void consumeTestDDAReply(TestDDAReply testDDAReply) {
+ if (testDDAReply.getDirectory().equals(directory.get())) {
+ try {
+ String readContent = Files.readAllLines(new File(testDDAReply.getReadFilename()).toPath()).get(0);
+ sendMessage(new TestDDAResponse(directory.get(), readContent));
+ } catch (IOException e) {
+ sendMessage(new TestDDAResponse(directory.get(), "failed-to-read"));
+ }
+ }
+ }
+
+ @Override
+ protected void consumeTestDDAComplete(TestDDAComplete testDDAComplete) {
+ if (testDDAComplete.getDirectory().equals(directory.get())) {
+ sendMessage(originalClientPut.get());
+ }
+ }
+
+ @Override