| 1166 | } |
| 1167 | |
| 1168 | func (m *newSessionTicketMsgTLS13) marshal() ([]byte, error) { |
| 1169 | var b cryptobyte.Builder |
| 1170 | b.AddUint8(typeNewSessionTicket) |
| 1171 | b.AddUint24LengthPrefixed(func(b *cryptobyte.Builder) { |
| 1172 | b.AddUint32(m.lifetime) |
| 1173 | b.AddUint32(m.ageAdd) |
| 1174 | b.AddUint8LengthPrefixed(func(b *cryptobyte.Builder) { |
| 1175 | b.AddBytes(m.nonce) |
| 1176 | }) |
| 1177 | b.AddUint16LengthPrefixed(func(b *cryptobyte.Builder) { |
| 1178 | b.AddBytes(m.label) |
| 1179 | }) |
| 1180 | |
| 1181 | b.AddUint16LengthPrefixed(func(b *cryptobyte.Builder) { |
| 1182 | if m.maxEarlyData > 0 { |
| 1183 | b.AddUint16(extensionEarlyData) |
| 1184 | b.AddUint16LengthPrefixed(func(b *cryptobyte.Builder) { |
| 1185 | b.AddUint32(m.maxEarlyData) |
| 1186 | }) |
| 1187 | } |
| 1188 | }) |
| 1189 | }) |
| 1190 | |
| 1191 | return b.Bytes() |
| 1192 | } |
| 1193 | |
| 1194 | func (m *newSessionTicketMsgTLS13) unmarshal(data []byte) bool { |
| 1195 | *m = newSessionTicketMsgTLS13{} |