mirror of
https://github.com/Qortal/qortal.git
synced 2025-04-23 11:27:51 +00:00
Network optimizations: if we're not up to date then don't request, or send, unconfirmed transaction lists
This commit is contained in:
parent
469bf2a63e
commit
984e8b5227
@ -765,8 +765,10 @@ public class Controller extends Thread {
|
|||||||
BlockData latestBlockData = getChainTip();
|
BlockData latestBlockData = getChainTip();
|
||||||
network.broadcast(peer -> network.buildHeightMessage(peer, latestBlockData));
|
network.broadcast(peer -> network.buildHeightMessage(peer, latestBlockData));
|
||||||
|
|
||||||
// Send (if outbound) / Request unconfirmed transaction signatures
|
// Request unconfirmed transaction signatures, but only if we're up-to-date.
|
||||||
network.broadcast(network::buildGetUnconfirmedTransactionsMessage);
|
// If we're NOT up-to-date then priority is synchronizing first
|
||||||
|
if (isUpToDate())
|
||||||
|
network.broadcast(network::buildGetUnconfirmedTransactionsMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onMintingPossibleChange(boolean isMintingPossible) {
|
public void onMintingPossibleChange(boolean isMintingPossible) {
|
||||||
@ -1040,7 +1042,12 @@ public class Controller extends Thread {
|
|||||||
|
|
||||||
private void onNetworkGetUnconfirmedTransactionsMessage(Peer peer, Message message) {
|
private void onNetworkGetUnconfirmedTransactionsMessage(Peer peer, Message message) {
|
||||||
try (final Repository repository = RepositoryManager.getRepository()) {
|
try (final Repository repository = RepositoryManager.getRepository()) {
|
||||||
List<byte[]> signatures = repository.getTransactionRepository().getUnconfirmedTransactionSignatures();
|
List<byte[]> signatures = Collections.emptyList();
|
||||||
|
|
||||||
|
// If we're NOT up-to-date then don't send out unconfirmed transactions
|
||||||
|
// as it's possible they are already included in a later block that we don't have.
|
||||||
|
if (isUpToDate())
|
||||||
|
signatures = repository.getTransactionRepository().getUnconfirmedTransactionSignatures();
|
||||||
|
|
||||||
Message transactionSignaturesMessage = new TransactionSignaturesMessage(signatures);
|
Message transactionSignaturesMessage = new TransactionSignaturesMessage(signatures);
|
||||||
if (!peer.sendMessage(transactionSignaturesMessage))
|
if (!peer.sendMessage(transactionSignaturesMessage))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user