optimize fetching mempool entries for fee histogram when connected to bitcoin core, fix and improve mempool fee rates chart

This commit is contained in:
Craig Raw
2023-06-20 16:15:19 +02:00
parent 3242f00812
commit 171bf24133
17 changed files with 326 additions and 53 deletions
@@ -836,9 +836,9 @@ public class ElectrumServer {
}
public Set<MempoolRateSize> getMempoolRateSizes() throws ServerException {
Map<Long, Long> feeRateHistogram = electrumServerRpc.getFeeRateHistogram(getTransport());
Map<Double, Long> feeRateHistogram = electrumServerRpc.getFeeRateHistogram(getTransport());
Set<MempoolRateSize> mempoolRateSizes = new TreeSet<>();
for(Long fee : feeRateHistogram.keySet()) {
for(Double fee : feeRateHistogram.keySet()) {
mempoolRateSizes.add(new MempoolRateSize(fee, feeRateHistogram.get(fee)));
}
@@ -1331,6 +1331,13 @@ public class ElectrumServer {
bwtStartLock.unlock();
}
}
@Subscribe
public void mempoolEntriesInitialized(MempoolEntriesInitializedEvent event) throws ServerException {
ElectrumServer electrumServer = new ElectrumServer();
Set<MempoolRateSize> mempoolRateSizes = electrumServer.getMempoolRateSizes();
EventManager.get().post(new MempoolRateSizesUpdatedEvent(mempoolRateSizes));
}
}
public static class ReadRunnable implements Runnable {