function eraMatrixFigure(host) {
ensureStyles();
var mid = [
['DiscoverResult', 95],
['-32022 (recognized)', 280],
['other error / timeout', 465]
];
var out = [
['Modern: use it', 95],
['Modern: retry version', 280],
['Legacy: use initialize', 465]
];
var svg = [];
svg.push('');
svg.push('');
svg.push('server/discover probe');
var i;
for (i = 0; i < mid.length; i++) {
var cx = mid[i][1];
svg.push('');
svg.push('');
svg.push('' + mid[i][0] + '');
svg.push('');
svg.push('');
svg.push('' + out[i][0] + '');
}
svg.push('Era is a property of the server: cache the decision per process (stdio) or origin (HTTP).');
var shell = document.createElement('div');
shell.className = 'mf-shell';
shell.innerHTML = [
'
Protocol Era Probe one server/discover probe, three outcomes, no handshake required to ask
',
'
',
'',
'
',
'
The same probe sorts every stdio server into modern, modern with a different version, or legacy. A recognized modern error never falls back; only an unrecognized error or a timeout does.