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