mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-06-15 10:29:43 -04:00
Fix missing timeout for offeravailability request, set offer state at timeout , cleanups
This commit is contained in:
parent
88812fcbb4
commit
ca4bf16b1d
3 changed files with 17 additions and 14 deletions
|
@ -27,7 +27,6 @@ import io.bitsquare.p2p.messaging.DecryptedMailListener;
|
||||||
import io.bitsquare.trade.offer.Offer;
|
import io.bitsquare.trade.offer.Offer;
|
||||||
import io.bitsquare.trade.protocol.availability.messages.OfferAvailabilityResponse;
|
import io.bitsquare.trade.protocol.availability.messages.OfferAvailabilityResponse;
|
||||||
import io.bitsquare.trade.protocol.availability.messages.OfferMessage;
|
import io.bitsquare.trade.protocol.availability.messages.OfferMessage;
|
||||||
import io.bitsquare.trade.protocol.availability.tasks.GetPeerAddress;
|
|
||||||
import io.bitsquare.trade.protocol.availability.tasks.ProcessOfferAvailabilityResponse;
|
import io.bitsquare.trade.protocol.availability.tasks.ProcessOfferAvailabilityResponse;
|
||||||
import io.bitsquare.trade.protocol.availability.tasks.SendOfferAvailabilityRequest;
|
import io.bitsquare.trade.protocol.availability.tasks.SendOfferAvailabilityRequest;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
|
@ -38,7 +37,7 @@ import static io.bitsquare.util.Validator.nonEmptyStringOf;
|
||||||
public class OfferAvailabilityProtocol {
|
public class OfferAvailabilityProtocol {
|
||||||
private static final Logger log = LoggerFactory.getLogger(OfferAvailabilityProtocol.class);
|
private static final Logger log = LoggerFactory.getLogger(OfferAvailabilityProtocol.class);
|
||||||
|
|
||||||
private static final long TIMEOUT_SEC = 30;
|
private static final long TIMEOUT_SEC = 10;
|
||||||
|
|
||||||
private final OfferAvailabilityModel model;
|
private final OfferAvailabilityModel model;
|
||||||
private final ResultHandler resultHandler;
|
private final ResultHandler resultHandler;
|
||||||
|
@ -82,16 +81,16 @@ public class OfferAvailabilityProtocol {
|
||||||
// Called from UI
|
// Called from UI
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
public void checkOfferAvailability() {
|
public void sendOfferAvailabilityRequest() {
|
||||||
// reset
|
// reset
|
||||||
model.offer.setState(Offer.State.UNDEFINED);
|
model.offer.setState(Offer.State.UNDEFINED);
|
||||||
|
|
||||||
model.p2PService.addDecryptedMailListener(decryptedMailListener);
|
model.p2PService.addDecryptedMailListener(decryptedMailListener);
|
||||||
|
model.setPeerAddress(model.offer.getOffererAddress());
|
||||||
|
|
||||||
taskRunner = new TaskRunner<>(model,
|
taskRunner = new TaskRunner<>(model,
|
||||||
() -> {
|
() -> {
|
||||||
log.debug("sequence at onCheckOfferAvailability completed");
|
log.debug("sequence at sendOfferAvailabilityRequest completed");
|
||||||
stopTimeout();
|
|
||||||
},
|
},
|
||||||
(errorMessage) -> {
|
(errorMessage) -> {
|
||||||
log.error(errorMessage);
|
log.error(errorMessage);
|
||||||
|
@ -99,10 +98,7 @@ public class OfferAvailabilityProtocol {
|
||||||
errorMessageHandler.handleErrorMessage(errorMessage);
|
errorMessageHandler.handleErrorMessage(errorMessage);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
taskRunner.addTasks(
|
taskRunner.addTasks(SendOfferAvailabilityRequest.class);
|
||||||
GetPeerAddress.class,
|
|
||||||
SendOfferAvailabilityRequest.class
|
|
||||||
);
|
|
||||||
startTimeout();
|
startTimeout();
|
||||||
taskRunner.run();
|
taskRunner.run();
|
||||||
}
|
}
|
||||||
|
@ -144,6 +140,7 @@ public class OfferAvailabilityProtocol {
|
||||||
timeoutTimer = UserThread.runAfter(() -> {
|
timeoutTimer = UserThread.runAfter(() -> {
|
||||||
Utilities.setThreadName("OfferAvailabilityProtocol:Timeout");
|
Utilities.setThreadName("OfferAvailabilityProtocol:Timeout");
|
||||||
log.warn("Timeout reached");
|
log.warn("Timeout reached");
|
||||||
|
model.offer.setState(Offer.State.OFFERER_OFFLINE);
|
||||||
errorMessageHandler.handleErrorMessage("Timeout reached: Peer has not responded.");
|
errorMessageHandler.handleErrorMessage("Timeout reached: Peer has not responded.");
|
||||||
}, TIMEOUT_SEC);
|
}, TIMEOUT_SEC);
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,9 +37,8 @@ public final class OfferAvailabilityRequest extends OfferMessage {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "RequestIsOfferAvailableMessage{" +
|
return "OfferAvailabilityRequest{" +
|
||||||
"\nofferId=" + offerId +
|
"pubKeyRing=" + pubKeyRing +
|
||||||
"\npubKeyRing=" + pubKeyRing != null ? pubKeyRing.toString() : "null" +
|
"} " + super.toString();
|
||||||
'}';
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,4 +29,11 @@ public final class OfferAvailabilityResponse extends OfferMessage {
|
||||||
super(offerId);
|
super(offerId);
|
||||||
this.isAvailable = isAvailable;
|
this.isAvailable = isAvailable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "OfferAvailabilityResponse{" +
|
||||||
|
"isAvailable=" + isAvailable +
|
||||||
|
"} " + super.toString();
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Add table
Add a link
Reference in a new issue