Refresh peer stats every second

This commit is contained in:
Franck Royer 2021-08-12 15:07:27 +10:00
parent 278439df82
commit a1218c1223
No known key found for this signature in database
GPG Key ID: A82ED75A8DFC50A4
1 changed files with 20 additions and 7 deletions

View File

@ -76,6 +76,13 @@ function App() {
);
const [messages, setMessages] = useState<Message[]>([]);
const [address, setAddress] = useState<string>();
const [peerStats, setPeerStats] = useState<{
relayPeers: number;
lightPushPeers: number;
}>({
relayPeers: 0,
lightPushPeers: 0,
});
const classes = useStyles();
@ -148,12 +155,17 @@ function App() {
};
}, [waku, address, EncryptionKeyPair]);
let relayPeers = 0;
let lightPushPeers = 0;
if (waku) {
relayPeers = waku.relay.getPeers().size;
lightPushPeers = waku.lightPush.peers.length;
}
useEffect(() => {
if (!waku) return;
const interval = setInterval(() => {
setPeerStats({
relayPeers: waku.relay.getPeers().size,
lightPushPeers: waku.lightPush.peers.length,
});
}, 1000);
return () => clearInterval(interval);
}, [waku]);
let addressDisplay = '';
if (address) {
@ -177,7 +189,8 @@ function App() {
/>
</IconButton>
<Typography className={classes.peers} aria-label="connected-peers">
Peers: {relayPeers} relay, {lightPushPeers} light push
Peers: {peerStats.relayPeers} relay, {peerStats.lightPushPeers}{' '}
light push
</Typography>
<Typography variant="h6" className={classes.title}>
Ethereum Direct Message