toString method
A string representation of this object.
Some classes have a default textual representation,
often paired with a static parse function (like int.parse).
These classes will provide the textual representation as
their string representation.
Other classes have no meaningful textual representation
that a program will care about.
Such classes will typically override toString to provide
useful information when inspecting the object,
mainly for debugging or logging.
Implementation
@override
String toString() {
final ks = keyShareEntry != null
? "group=0x${keyShareEntry!.group.toRadixString(16)}, key=${HEX.encode(keyShareEntry!.pub)}"
: "null";
final ver = selectedVersion != null
? "0x${selectedVersion!.toRadixString(16)}"
: "null";
return '''
✅ Parsed ServerHello:
legacy_version: 0x${legacyVersion.toRadixString(16)}
random: ${HEX.encode(random.sublist(0, 8))}...
session_id: ${HEX.encode(sessionId)}
cipher_suite: 0x${cipherSuite.toRadixString(16)}
compression: $compressionMethod
selected_version: $ver
key_share: $ks
''';
}