public static CursorHandshakeWritingContext StartWriting(MemoryCursor cursor, HandshakeRandom random, Cipher cipher, SessionId sessionId) { HandshakeType.ServerHello.WriteBytes(cursor); var payloadContext = HandshakeLength.StartWriting(cursor); ProtocolVersion.Tls12.WriteBytes(cursor); random.WriteBytes(cursor); sessionId.WriteBytes(cursor); cipher.WriteBytes(cursor); CompressionMethod.WriteEmptyValue(cursor); var extensionsContext = ByteVector.StartVectorWriting(cursor, 0..ushort.MaxValue); return(new CursorHandshakeWritingContext(payloadContext, extensionsContext)); }
public static CursorHandshakeWritingContext StartWriting(MemoryCursor cursor, HandshakeRandom random, ReadOnlyMemory <Cipher> ciphers, SessionId sessionId) { HandshakeType.ClientHello.WriteBytes(cursor); var payloadContext = HandshakeLength.StartWriting(cursor); ProtocolVersion.Tls12.WriteBytes(cursor); random.WriteBytes(cursor); sessionId.WriteBytes(cursor); CipherSuite.Write(cursor, ciphers); CompressionMethod.WriteEmptyList(cursor); var extensionsContext = ByteVector.StartVectorWriting(cursor, 0..ushort.MaxValue); return(new CursorHandshakeWritingContext(payloadContext, extensionsContext)); }