[bisq-network/bisq] (6/6) Clean up technical debt in P2PDataStorage and ProtectedStorageEntry objects (#3747)

Julian Knutsen notifications at github.com
Wed Dec 4 20:21:38 UTC 2019


b6b0026

## Motivation
This PR cleans up technical debt in the P2PDataStorage and the ProtectedStorageEntry objects that should be done before new features are added.

Future patches will change these objects quite a bit and getting them into a state that is easy to reason about will make the reviews easier.

## Testing
All existing unit tests continue to pass
You can view, comment on, or merge this pull request online at:

  https://github.com/bisq-network/bisq/pull/3747

-- Commit Summary --

  * [TESTS] Add tests of requestData
  * [REFACTOR] Introduce buildGetDataRequest variants
  * [TESTS] Add tests of new RequestData APIs
  * [TESTS] Add tests of GetDataRequestHandler
  * [REFACTOR] Introduce buildGetDataResponse
  * [REFACTOR] Extract connectionInfo String
  * [REFACTOR] Extract getDataResponse logging
  * [REFACTOR] Extract truncation logging
  * [REFACTOR] Pass peerCapabilities into buildGetDataResponse
  * [TESTS] Unit tests of buildGetDataResponse
  * Remove redundant HashSet lookups in filter functions
  * [REFACTOR] Move required capabilities log
  * [REFACTOR] Inline capability check for ProtectedStorageEntries
  * [REFACTOR] Inline filtering functions
  * [REFACTOR] Remove duplication in filtering functions
  * [BUGFIX] Fix off-by-one in truncation logic
  * [TESTS] Add test of RequestDataHandler::onMessage
  * [REFACTOR] Introduce processGetDataResponse
  * [TESTS] Make verify() functions more flexible
  * [TESTS] Add unit tests for processGetDataResponse
  * Remove static from initialRequestApplied
  * [TESTS] Write synchronization integration tests
  * [REFACTOR] Clean up processGetDataResponse
  * [RENAME] LazyProcessedPayload to ProcessOncePersistableNetworkPayload
  * Remove @Nullable around persistableNetworkPayloadSet
  * Remove @Nullable around supportedCapabilities in GetDataResponse
  * Remove @Nullable around supportedCapabilities in PreliminaryGetDataRequest
  * [DEADCODE] Remove old request handler tests
  * Make addPersistableNetworkPayloadFromInitialRequest private
  * [REFACTOR] Clean up ClientAPI for addPersistableNetworkPayload
  * [REFACTOR] Clean up ClientAPI for addProtectedStorageEntry
  * [REFACTOR] Clean up ClientAPI for remove
  * [REFACTOR] Clean up ClientAPI for refreshTTL
  * Make isDataOwner a private policy decision in BroadcastHandler
  * Remove isDataOwner from P2PDataStorage
  * [REFACTOR] inline broadcast() private function
  * [REFACTOR] inline broadcastProtectedStorageEntry() private function
  * [REFACTOR] inline maybeAddToRemoveAddOncePayloads() private function
  * [TESTS] Clean up mockito never() and eq(null) usages
  * Remove ProtectedStorageEntry::updateSignature
  * Remove ProtectedStorageEntry::maybeAdjustCreationTimeStamp
  * @NotNull ProtectedStorageEntry::ownerPubKey
  * @NotNull ProtectedStorageEntry::protectedStoragePayload
  * @NotNull MailboxStoragePayload::senderPubKeyForAddOperation
  * Clean up P2PDataStorage::onDisconnect
  * Make CHECK_TTL_INTERVAL_SEC final

-- File Changes --

    M core/src/main/java/bisq/core/account/sign/SignedWitness.java (4)
    M core/src/main/java/bisq/core/account/witness/AccountAgeWitness.java (4)
    M core/src/main/java/bisq/core/alert/AlertManager.java (4)
    M core/src/main/java/bisq/core/dao/governance/proposal/MyProposalListService.java (4)
    M core/src/main/java/bisq/core/dao/governance/proposal/storage/temp/TempProposalPayload.java (4)
    M core/src/main/java/bisq/core/dao/monitoring/network/StateNetworkService.java (2)
    M core/src/main/java/bisq/core/dao/node/full/network/FullNodeNetworkService.java (2)
    M core/src/main/java/bisq/core/dao/node/lite/network/LiteNodeNetworkService.java (2)
    M core/src/main/java/bisq/core/filter/FilterManager.java (4)
    M core/src/main/java/bisq/core/offer/OfferBookService.java (6)
    M core/src/main/java/bisq/core/support/dispute/agent/DisputeAgentService.java (4)
    M core/src/main/java/bisq/core/trade/statistics/TradeStatistics.java (4)
    M core/src/main/java/bisq/core/trade/statistics/TradeStatistics2.java (4)
    M monitor/src/main/java/bisq/monitor/metric/P2PMarketStats.java (19)
    M monitor/src/main/java/bisq/monitor/metric/P2PSeedNodeSnapshot.java (19)
    M p2p/src/main/java/bisq/network/p2p/P2PService.java (18)
    M p2p/src/main/java/bisq/network/p2p/peers/BroadcastHandler.java (4)
    M p2p/src/main/java/bisq/network/p2p/peers/Broadcaster.java (4)
    M p2p/src/main/java/bisq/network/p2p/peers/getdata/GetDataRequestHandler.java (122)
    M p2p/src/main/java/bisq/network/p2p/peers/getdata/RequestDataHandler.java (92)
    M p2p/src/main/java/bisq/network/p2p/peers/getdata/messages/GetDataResponse.java (35)
    M p2p/src/main/java/bisq/network/p2p/peers/getdata/messages/PreliminaryGetDataRequest.java (21)
    M p2p/src/main/java/bisq/network/p2p/storage/P2PDataStorage.java (363)
    M p2p/src/main/java/bisq/network/p2p/storage/payload/MailboxStoragePayload.java (4)
    R p2p/src/main/java/bisq/network/p2p/storage/payload/ProcessOncePersistableNetworkPayload.java (7)
    M p2p/src/main/java/bisq/network/p2p/storage/payload/ProtectedMailboxStorageEntry.java (7)
    M p2p/src/main/java/bisq/network/p2p/storage/payload/ProtectedStorageEntry.java (71)
    A p2p/src/test/java/bisq/network/p2p/storage/P2PDataStorageBuildGetDataResponseTest.java (481)
    M p2p/src/test/java/bisq/network/p2p/storage/P2PDataStorageClientAPITest.java (46)
    A p2p/src/test/java/bisq/network/p2p/storage/P2PDataStorageGetDataIntegrationTest.java (193)
    M p2p/src/test/java/bisq/network/p2p/storage/P2PDataStorageOnMessageHandlerTest.java (6)
    M p2p/src/test/java/bisq/network/p2p/storage/P2PDataStoragePersistableNetworkPayloadTest.java (59)
    A p2p/src/test/java/bisq/network/p2p/storage/P2PDataStorageProcessGetDataResponse.java (263)
    M p2p/src/test/java/bisq/network/p2p/storage/P2PDataStorageProtectedStorageEntryTest.java (31)
    M p2p/src/test/java/bisq/network/p2p/storage/P2PDataStorageRemoveExpiredTest.java (30)
    A p2p/src/test/java/bisq/network/p2p/storage/P2PDataStorageRequestDataTest.java (171)
    M p2p/src/test/java/bisq/network/p2p/storage/P2PDataStoreDisconnectTest.java (6)
    M p2p/src/test/java/bisq/network/p2p/storage/TestState.java (91)
    M p2p/src/test/java/bisq/network/p2p/storage/mocks/PersistableNetworkPayloadStub.java (12)
    M p2p/src/test/java/bisq/network/p2p/storage/payload/ProtectedMailboxStorageEntryTest.java (15)
    M p2p/src/test/java/bisq/network/p2p/storage/payload/ProtectedStorageEntryTest.java (33)

-- Patch Links --

https://github.com/bisq-network/bisq/pull/3747.patch
https://github.com/bisq-network/bisq/pull/3747.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/bisq-network/bisq/pull/3747
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20191204/41ebddaa/attachment.html>


More information about the bisq-github mailing list