MCPcopy Create free account
hub / github.com/XTLS/Go / marshal

Method marshal

handshake_messages.go:992–1021  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

990}
991
992func (m *newSessionTicketMsgTLS13) marshal() []byte {
993 if m.raw != nil {
994 return m.raw
995 }
996
997 var b cryptobyte.Builder
998 b.AddUint8(typeNewSessionTicket)
999 b.AddUint24LengthPrefixed(func(b *cryptobyte.Builder) {
1000 b.AddUint32(m.lifetime)
1001 b.AddUint32(m.ageAdd)
1002 b.AddUint8LengthPrefixed(func(b *cryptobyte.Builder) {
1003 b.AddBytes(m.nonce)
1004 })
1005 b.AddUint16LengthPrefixed(func(b *cryptobyte.Builder) {
1006 b.AddBytes(m.label)
1007 })
1008
1009 b.AddUint16LengthPrefixed(func(b *cryptobyte.Builder) {
1010 if m.maxEarlyData > 0 {
1011 b.AddUint16(extensionEarlyData)
1012 b.AddUint16LengthPrefixed(func(b *cryptobyte.Builder) {
1013 b.AddUint32(m.maxEarlyData)
1014 })
1015 }
1016 })
1017 })
1018
1019 m.raw = b.BytesOrPanic()
1020 return m.raw
1021}
1022
1023func (m *newSessionTicketMsgTLS13) unmarshal(data []byte) bool {
1024 *m = newSessionTicketMsgTLS13{raw: data}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected