public void Serialise(System.IO.Stream stream, Version version) { stream.WriteByte((byte)(255 - _ClientVersion.Major)); stream.WriteByte((byte)(255 - _ClientVersion.Minor)); _Random.Serialise(stream); if (_SessionID == null) { stream.WriteByte(0); } else { stream.WriteByte((byte)_SessionID.Length); stream.Write(_SessionID, 0, _SessionID.Length); } if (_Cookie == null) { stream.WriteByte(0); } else { stream.WriteByte((byte)_Cookie.Length); stream.Write(_Cookie, 0, _Cookie.Length); } if (_CipherSuites.Length > 0) { NetworkByteOrderConverter.WriteUInt16(stream, (ushort)(_CipherSuites.Length * 2)); for (uint index = 0; index < _CipherSuites.Length; index++) { NetworkByteOrderConverter.WriteUInt16(stream, _CipherSuites[index]); } } stream.WriteByte((byte)_CompressionMethods.Length); stream.Write(_CompressionMethods, 0, _CompressionMethods.Length); if (_Extensions == null) { NetworkByteOrderConverter.WriteUInt16(stream, 0); } else { _Extensions.Serialise(stream); } }
public void Serialise(System.IO.Stream stream, Version version) { stream.WriteByte((byte)(255 - _ServerVersion.Major)); stream.WriteByte((byte)(255 - _ServerVersion.Minor)); _Random.Serialise(stream); if (_SessionID == null) { stream.WriteByte(0); } else { stream.WriteByte((byte)_SessionID.Length); stream.Write(_SessionID, 0, _SessionID.Length); } NetworkByteOrderConverter.WriteUInt16(stream, _CipherSuite); stream.WriteByte(_CompressionMethod); if (_Extensions != null) { _Extensions.Serialise(stream); } }