fromWire static method
Implementation
static ClientMessage fromWire(Map<String, dynamic> wire) {
final type = wire['type'];
switch (type) {
case 'join':
_requireOnly(wire, {'type', 'peer', 'capabilities'});
return ClientJoin(
wire['peer'] as int,
(wire['capabilities'] as List?)?.cast<String>(),
);
case 'offer':
_requireOnly(wire, {'type', 'to', 'sdp'});
return ClientOffer(wire['to'] as int, wire['sdp'] as String);
case 'answer':
_requireOnly(wire, {'type', 'to', 'sdp'});
return ClientAnswer(wire['to'] as int, wire['sdp'] as String);
case 'ice':
_requireOnly(wire, {'type', 'to', 'candidate'});
return ClientIce(wire['to'] as int, wire['candidate'] as String);
case 'relay':
_requireOnly(wire, {'type', 'to', 'payload'});
return ClientRelay(wire['to'] as int, wire['payload'] as Object);
case 'leave':
_requireOnly(wire, {'type'});
return ClientLeave();
default:
throw FormatException('unknown ClientMessage type: $type');
}
}