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

Method marshal

handshake_messages.go:858–882  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

856}
857
858func (m *encryptedExtensionsMsg) marshal() []byte {
859 if m.raw != nil {
860 return m.raw
861 }
862
863 var b cryptobyte.Builder
864 b.AddUint8(typeEncryptedExtensions)
865 b.AddUint24LengthPrefixed(func(b *cryptobyte.Builder) {
866 b.AddUint16LengthPrefixed(func(b *cryptobyte.Builder) {
867 if len(m.alpnProtocol) > 0 {
868 b.AddUint16(extensionALPN)
869 b.AddUint16LengthPrefixed(func(b *cryptobyte.Builder) {
870 b.AddUint16LengthPrefixed(func(b *cryptobyte.Builder) {
871 b.AddUint8LengthPrefixed(func(b *cryptobyte.Builder) {
872 b.AddBytes([]byte(m.alpnProtocol))
873 })
874 })
875 })
876 }
877 })
878 })
879
880 m.raw = b.BytesOrPanic()
881 return m.raw
882}
883
884func (m *encryptedExtensionsMsg) unmarshal(data []byte) bool {
885 *m = encryptedExtensionsMsg{raw: data}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected