title | short-title | slug | page-type | browser-compat |
---|---|---|---|---|
RTCIceCandidateStats: deleted property |
deleted |
Web/API/RTCIceCandidateStats/deleted |
web-api-instance-property |
api.RTCIceCandidateStats.deleted |
{{APIRef("WebRTC")}}
The {{domxref("RTCIceCandidateStats")}} dictionary's
deleted
property indicates whether or not the candidate
has been deleted or released.
A Boolean value indicating whether or not the candidate has been deleted or released.
If this value is true
, the candidate described by the
{{domxref("RTCIceCandidateStats")}} object is no longer under consideration. The exact
meaning varies depending on the type of candidate:
Local candidate
- : A value of
true
means the candidate has been deleted as described by {{RFC(5245, "", "8.3")}}.
- : A value of
Host candidate
- : A value of
true
indicates that the candidate's network resources have been released. This generally mean that any associated socket(s) have been closed and released.
- : A value of
Remote (TURN) candidate
- : A value of
true
means the candidate's {{Glossary("TURN")}} allocation is no longer active.
- : A value of
The net result is the same; the candidate is no longer under consideration if this
value is true
.
In this example, {{domxref("setInterval()")}} is used to set up a function that runs periodically to display the latest statistics for candidates. Only candidates which have not been deleted are included in the output.
setInterval(() => {
myPeerConnection.getStats(null).then((stats) => {
let statsOutput = "";
stats.forEach((report) => {
if (
(stats.type === "local-candidate" ||
stats.type === "remote.candidate") &&
!stats.deleted
) {
statsOutput +=
`<h2>Report: ${report.type}</h3>\n<strong>ID:</strong> ${report.id}<br>\n` +
`<strong>Timestamp:</strong> ${report.timestamp}<br>\n`;
// Now the statistics for this report; we intentionally drop the ones we
// sorted to the top above
Object.keys(report).forEach((statName) => {
if (
statName !== "id" &&
statName !== "timestamp" &&
statName !== "type"
) {
statsOutput += `<strong>${statName}:</strong> ${report[statName]}<br>\n`;
}
});
}
});
document.querySelector(".stats-box").innerHTML = statsOutput;
});
}, 1000);
{{Specifications}}
{{Compat}}