Commit Graph

743 Commits

Author SHA1 Message Date
chimp1984
5c429bb3a7
Add containsKey check 2021-01-12 14:48:45 -05:00
chimp1984
d353140e7a
Refactor: rename getMyDecryptedMessages method to make it more explicit
that its only used for MailboxMsg
2021-01-12 13:54:54 -05:00
chimp1984
575196c16d
Refactor handleDecryptedMessageWithPubKey to use MailboxMessage
instead of decryptedMessageWithPubKey.
Here we change a bit the behaviour as now we check also if the
TradeMessage is a MailboxMessage. As that method is only called
from MailboxMessageService domain we never get a non MailboxMessage
here anyway and it would have been a bug.

Remove removeMailboxMsg(DecryptedMessageWithPubKey decryptedMessageWithPubKey) as not used anymore
2021-01-12 13:53:20 -05:00
chimp1984
3875bd85d1
Add removeMailboxMsg with MailboxMessage as argument 2021-01-12 13:24:42 -05:00
chimp1984
337ea89ce6
Add program argument flag republishMailboxEntries
Only republish if that flag is set, not depending if its a seedNode
2021-01-12 12:42:50 -05:00
chimp1984
b4ab8a4a0d
Fix incorrect comparison at RemovedPayloadsService.readPersisted
Add comments
Cleanups
2021-01-12 10:59:11 -05:00
chimp1984
d39a697611
Fix wrong delay, increase timeout 2021-01-12 10:48:29 -05:00
chimp1984
a9802e60cd
Refactor: return early 2021-01-12 10:48:29 -05:00
chimp1984
8d866d5d06
Improve logs, rename methods, variables 2021-01-12 10:48:29 -05:00
chimp1984
e933bfd281
Add temp. ignore to a failing test.
By debugging I could not see why it fails, behaviour seems correct.
I guess its a mock setup issue. Will look into it to fix it soon...
2021-01-12 10:48:28 -05:00
chimp1984
8e0181e528
Add republishExistingProtectedMailboxStorageEntry method
Seed nodes republish the persisted mailbox messages after
startup in chunks of 50 items with a 2 minute delay.

Move check for hasSequenceNrIncreased in addProtectedStorageEntry
earlier so we return earlier. This is a very common case for return
if we receive outdated data (like republished mailbox data we have
already received).

Mark logs with ## for easier find/replace for dev testing...
2021-01-12 10:48:28 -05:00
chimp1984
a54813a015
Increase timout for BroadcastHandler to 120 sec 2021-01-12 10:48:28 -05:00
chimp1984
320e5f1aef
Refactor: Rename method 2021-01-12 10:48:28 -05:00
chimp1984
659fe15b8d
Add comment 2021-01-12 10:48:28 -05:00
chimp1984
35ef3b842f
Add support for TTL defined by payload message so we can use
different TTL for lower prio mailbox messages like AckMessages.

As we cannot add a field without breaking signatures we
need to use the extraMap in MailboxStoragePayload
2021-01-12 10:48:28 -05:00
chimp1984
7a2501ea1b
Set uid inside constructor 2021-01-12 10:48:28 -05:00
chimp1984
873b557ce8
Add logs 2021-01-12 10:48:28 -05:00
chimp1984
026858d8b1
Refactor: move duplicated method
capabilityRequiredAndCapabilityNotSupported to CapabilityUtils
2021-01-12 10:48:27 -05:00
chimp1984
a3b2aad3b0
Refactor: move class to new utils package 2021-01-12 10:48:27 -05:00
chimp1984
de131c83b5
Use MailboxItem value at mailboxItemsByUid instead of a list:
The uid is not perfect like a cryptographic hash but it can be
considered safe enough to not have collusion. The list got filled
with duplicates, so should have been a hashSet anyway.
We cannot use the hash as that is not available at the remove method.
We might refactor that in future to get rid of that problematic uid as
key but will require a but more refactoring in the client code as well,
as we do not pass around the outer envelope data but only the decrypted
data.

- Add protectedStorageEntry from persisted mailbox messages to
P2PDataStorage at startup. This ensures that we add those keys to excludedKeys
and that helps to reduce load for seed nodes at initial data response.

- Refactoring at removeFromMapAndDataStore:

- Add trace logs
- Add more comments
2021-01-12 10:48:27 -05:00
chimp1984
9edad02e8f
Use a hashset for listeners 2021-01-12 10:48:27 -05:00
chimp1984
41a92eae7f
Refactor: Rename class 2021-01-12 10:48:27 -05:00
chimp1984
5ba7d78a39
Add RemovedPayloadsStorageService
Adjust param
2021-01-12 10:48:27 -05:00
chimp1984
1886b4eb9d
Set addressPrefixHash to empty bytes.
We have added the capability in 1.4.0 and have
enforced 1.5.1 so no traders can use that old
version anymore so the capability check is not
needed anymore.
2021-01-12 10:48:27 -05:00
chimp1984
e69a3f646c
Refactor: rename method 2021-01-12 10:48:27 -05:00
chimp1984
75e547fda5
Refactor: move classes to persistence package 2021-01-12 10:48:27 -05:00
chimp1984
32f887478b
Persist map for removed mailbox messages (AddOncePayload more generally)
We add the date when we add the hash so that we can remove expired data.
2021-01-12 10:48:26 -05:00
chimp1984
6146362d71
Add onRemoved method to remove mailbox entries once a remove message arrives
Add republishMailBoxMessages method
2021-01-12 10:48:26 -05:00
chimp1984
bfbc657c22
Remove old code 2021-01-12 10:48:26 -05:00
chimp1984
5245c205cb
Add filter for isMine at getMyMailBoxMessages
Add TODOs
2021-01-12 10:48:26 -05:00
chimp1984
63a0117b4b
Remove nullable return value from decryptProtectedMailboxStorageEntry
Remove Objects::nonNull check
Split handleMailboxItem into 2 methods for persisting and
for processing my mailbox msg
2021-01-12 10:48:26 -05:00
chimp1984
79363e7fa8
Refactor: Rename 2021-01-12 10:48:26 -05:00
chimp1984
cf8c93dc5f
Filter expired entries at startup 2021-01-12 10:48:26 -05:00
chimp1984
504fb2e6a1
Refactor: Rename 2021-01-12 10:48:26 -05:00
chimp1984
4c7b56072f
Add new methods, make decryptedMessageWithPubKey nullable 2021-01-12 10:48:25 -05:00
chimp1984
4fc35a7b39
Cleanups 2021-01-12 10:48:25 -05:00
chimp1984
b8fc7f3985
Remove sendEncryptedMailboxMessage from P2PService and use MailboxMessageService instead 2021-01-12 10:48:25 -05:00
chimp1984
33703c269c
Remove removePrivateNotification from P2PService and use MailboxMessageService instead 2021-01-12 10:48:25 -05:00
chimp1984
ee3f158f5f
Remove addDecryptedMailboxListener from P2PService and use MailboxMessageService instead 2021-01-12 10:48:25 -05:00
chimp1984
d470d736ce
Remove getMailBoxMessages from P2PService and use MailboxMessageService instead 2021-01-12 10:48:25 -05:00
chimp1984
a28a2f59df
Move mailbox related code from P2PService to MailboxMessageService 2021-01-12 10:48:25 -05:00
chimp1984
73cfe0bb7d
Make some methods default 2021-01-12 10:48:25 -05:00
chimp1984
0656a52eb9
Refactor: Move mailbox related classed to mailbox package. Make constructor public. 2021-01-12 10:48:24 -05:00
sqrrm
fea52f07a3
Merge pull request #5057 from chimp1984/fix-premature-disconnections-from-seeds
Fix premature disconnections from seeds
2021-01-12 12:52:41 +01:00
chimp1984
3f8972bf87
Call init after setting connectionState and connectionStatistics 2021-01-11 22:38:49 -05:00
chimp1984
21eaea0703
Add IgnoredMailboxMap to persist failed decryption
attempts and optimize performance by that
2021-01-06 21:20:50 -05:00
chimp1984
8ccfd65c49
Prevent calling shutdown at TorNetworkNode twice.
This can happen from the main shut down routine when a timeout gets triggered.
2021-01-06 18:38:21 -05:00
chimp1984
bda9ebe3ca
Change print statistics period to 5 min.
remove dev log
2021-01-06 18:09:34 -05:00
chimp1984
e0e14431e4
Add RRT for request / response 2021-01-06 15:45:43 -05:00
chimp1984
4aecd75d4f
Add bytes sent/received to ConnectionStatistics
Do check for closed socket after blocking read.
Move throttle code after blocking read.
2021-01-06 14:01:04 -05:00