// Copyright (c) 2016 The Zcash developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include #include struct AtomicCounter { std::atomic value; AtomicCounter() : value {0} { } void increment(){ ++value; } void decrement(){ --value; } int get(){ return value.load(); } }; extern AtomicCounter transactionsValidated; extern AtomicCounter ehSolverRuns; extern AtomicCounter solutionTargetChecks; extern AtomicCounter minedBlocks; void ConnectMetricsScreen(); void ThreadShowMetricsScreen(); /** * Heart image: https://commons.wikimedia.org/wiki/File:Heart_coraz%C3%B3n.svg * License: CC BY-SA 3.0 * * Rendering options: * Zcash: img2txt -W 40 -H 20 -f utf8 -d none -g 0.7 Z-yellow.orange-logo.png * Heart: img2txt -W 40 -H 20 -f utf8 -d none 2000px-Heart_corazón.svg.png */ const std::string METRICS_ART = "   \n" "   \n" "  :88SX@888@@X8:  8; %X X% ;8 \n" "  %%Xt%tt%SSSSS:XXXt@@  X :: :: X \n" "  @S;;tt%%%t ;;::XXXXSX  % SS % \n" "  .t:::;;%8888 88888tXXXX8;  S S \n" "  .%...:::8 8::XXX%;  X X \n" "  8888...:t888888X 8t;;::XX8   8 8 \n" " %888888...:::;:8  :Xttt;;;::X@    \n" " 888888888...:St 8:%%tttt;;;:X  X X \n" " 88888888888S8  :%;ttt%%tttt;;X  8 8 \n" " %888888888%t 8S:;;;tt%%%ttt;8  : : \n" "  8t8888888  S8888888Stt%%%t@   :: :: \n" "  .@tt888@ 8;;ttt@;  t t \n" "  .8ttt8@SSSSS SXXXX%:;;;X;  8 8 \n" "  X8ttt8888% %88...::X8   X. .X \n" "  %8@tt88;8888%8888%8X   :; ;: \n" "  :@888@XXX@888:  tt \n" "   \n" "   ";