From 540f49f1e1720f27b06ecc6a37e1b6ed62cae99a Mon Sep 17 00:00:00 2001 From: Manfred Karrer Date: Mon, 15 Feb 2016 18:28:29 +0100 Subject: [PATCH] Add KeepAlive handling, add statistics, add table in network view for statistics, reduce connection timeout --- .../io/bitsquare/gui/main/MainViewModel.java | 6 +- .../settings/network/NetworkSettingsView.fxml | 47 ++- .../settings/network/NetworkSettingsView.java | 61 ++-- .../network/NetworkStatisticListItem.java | 123 ++++++++ .../io/bitsquare/gui/util/BSFormatter.java | 75 ++++- .../java/io/bitsquare/p2p/P2PService.java | 17 +- .../io/bitsquare/p2p/network/Connection.java | 60 ++-- .../io/bitsquare/p2p/network/Statistic.java | 59 ++++ .../p2p/peers/MaintenanceHandshake.java | 217 -------------- .../p2p/peers/MaintenanceManager.java | 283 ------------------ .../io/bitsquare/p2p/peers/PeerManager.java | 23 +- .../{ => getdata}/RequestDataHandshake.java | 11 +- .../{ => getdata}/RequestDataManager.java | 10 +- .../messages}/GetDataRequest.java | 2 +- .../messages}/GetDataResponse.java | 2 +- .../messages}/GetUpdatedDataRequest.java | 2 +- .../messages}/PreliminaryGetDataRequest.java | 2 +- .../p2p/peers/keepalive/KeepAliveHandler.java | 115 +++++++ .../p2p/peers/keepalive/KeepAliveManager.java | 144 +++++++++ .../messages/KeepAliveMessage.java} | 6 +- .../p2p/peers/keepalive/messages/Ping.java | 21 ++ .../p2p/peers/keepalive/messages/Pong.java | 21 ++ .../messages/maintenance/PingRequest.java | 37 --- .../messages/maintenance/PongResponse.java | 27 -- .../GetPeersRequestHandler.java | 13 +- .../PeerExchangeHandler.java | 19 +- .../PeerExchangeManager.java | 17 +- .../{ => peerexchange}/ReportedPeer.java | 21 +- .../messages}/GetPeersRequest.java | 8 +- .../messages}/GetPeersResponse.java | 8 +- .../messages}/PeerExchangeMessage.java | 2 +- 31 files changed, 748 insertions(+), 711 deletions(-) create mode 100644 gui/src/main/java/io/bitsquare/gui/main/settings/network/NetworkStatisticListItem.java create mode 100644 network/src/main/java/io/bitsquare/p2p/network/Statistic.java delete mode 100644 network/src/main/java/io/bitsquare/p2p/peers/MaintenanceHandshake.java delete mode 100644 network/src/main/java/io/bitsquare/p2p/peers/MaintenanceManager.java rename network/src/main/java/io/bitsquare/p2p/peers/{ => getdata}/RequestDataHandshake.java (96%) rename network/src/main/java/io/bitsquare/p2p/peers/{ => getdata}/RequestDataManager.java (97%) rename network/src/main/java/io/bitsquare/p2p/peers/{messages/data => getdata/messages}/GetDataRequest.java (68%) rename network/src/main/java/io/bitsquare/p2p/peers/{messages/data => getdata/messages}/GetDataResponse.java (95%) rename network/src/main/java/io/bitsquare/p2p/peers/{messages/data => getdata/messages}/GetUpdatedDataRequest.java (96%) rename network/src/main/java/io/bitsquare/p2p/peers/{messages/data => getdata/messages}/PreliminaryGetDataRequest.java (94%) create mode 100644 network/src/main/java/io/bitsquare/p2p/peers/keepalive/KeepAliveHandler.java create mode 100644 network/src/main/java/io/bitsquare/p2p/peers/keepalive/KeepAliveManager.java rename network/src/main/java/io/bitsquare/p2p/peers/{messages/maintenance/MaintenanceMessage.java => keepalive/messages/KeepAliveMessage.java} (69%) create mode 100644 network/src/main/java/io/bitsquare/p2p/peers/keepalive/messages/Ping.java create mode 100644 network/src/main/java/io/bitsquare/p2p/peers/keepalive/messages/Pong.java delete mode 100644 network/src/main/java/io/bitsquare/p2p/peers/messages/maintenance/PingRequest.java delete mode 100644 network/src/main/java/io/bitsquare/p2p/peers/messages/maintenance/PongResponse.java rename network/src/main/java/io/bitsquare/p2p/peers/{ => peerexchange}/GetPeersRequestHandler.java (91%) rename network/src/main/java/io/bitsquare/p2p/peers/{ => peerexchange}/PeerExchangeHandler.java (92%) rename network/src/main/java/io/bitsquare/p2p/peers/{ => peerexchange}/PeerExchangeManager.java (96%) rename network/src/main/java/io/bitsquare/p2p/peers/{ => peerexchange}/ReportedPeer.java (61%) rename network/src/main/java/io/bitsquare/p2p/peers/{messages/peers => peerexchange/messages}/GetPeersRequest.java (81%) rename network/src/main/java/io/bitsquare/p2p/peers/{messages/peers => peerexchange/messages}/GetPeersResponse.java (75%) rename network/src/main/java/io/bitsquare/p2p/peers/{messages/peers => peerexchange/messages}/PeerExchangeMessage.java (89%) diff --git a/gui/src/main/java/io/bitsquare/gui/main/MainViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/MainViewModel.java index 5c9c39c16b..068adac3a3 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/MainViewModel.java +++ b/gui/src/main/java/io/bitsquare/gui/main/MainViewModel.java @@ -196,11 +196,11 @@ public class MainViewModel implements ViewModel { onAllServicesInitialized(); }); - startupTimeout = FxTimer.runLater(Duration.ofMillis(60000), () -> { + startupTimeout = FxTimer.runLater(Duration.ofMinutes(3), () -> { log.warn("startupTimeout called"); MainView.blur(); - new Popup().warning("The application could not startup after 60 seconds.\n" + - "There might be some network connection problems.\n\n" + + new Popup().warning("The application could not startup after 3 minutes.\n" + + "There might be some network connection problems or a unstable Tor path.\n\n" + "Please restart and try again.") .closeButtonText("Shut down") .onClose(BitsquareApp.shutDownHandler::run) diff --git a/gui/src/main/java/io/bitsquare/gui/main/settings/network/NetworkSettingsView.fxml b/gui/src/main/java/io/bitsquare/gui/main/settings/network/NetworkSettingsView.fxml index 5a18fedfcf..24f2f22b73 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/settings/network/NetworkSettingsView.fxml +++ b/gui/src/main/java/io/bitsquare/gui/main/settings/network/NetworkSettingsView.fxml @@ -19,6 +19,7 @@ +