| 95 | } |
| 96 | |
| 97 | func clientSessionStateToBytes(cs *tls.ClientSessionState) ([]byte, error) { |
| 98 | ticket, state, err := cs.ResumptionState() |
| 99 | if err != nil { |
| 100 | return nil, err |
| 101 | } |
| 102 | stateBytes, err := state.Bytes() |
| 103 | if err != nil { |
| 104 | return nil, err |
| 105 | } |
| 106 | return (&sessionCacheEntry{ |
| 107 | formatVersion: currentFormatVersion, |
| 108 | ticket: ticket, |
| 109 | state: stateBytes, |
| 110 | }).MarshalBinary() |
| 111 | } |
| 112 | |
| 113 | func clientSessionStateFromBytes(data []byte) (*tls.ClientSessionState, error) { |
| 114 | sce := new(sessionCacheEntry) |