| // automatically generated by stateify. |
| |
| package header |
| |
| import ( |
| "gvisor.dev/gvisor/pkg/state" |
| ) |
| |
| func (r *SACKBlock) StateTypeName() string { |
| return "pkg/tcpip/header.SACKBlock" |
| } |
| |
| func (r *SACKBlock) StateFields() []string { |
| return []string{ |
| "Start", |
| "End", |
| } |
| } |
| |
| func (r *SACKBlock) beforeSave() {} |
| |
| func (r *SACKBlock) StateSave(stateSinkObject state.Sink) { |
| r.beforeSave() |
| stateSinkObject.Save(0, &r.Start) |
| stateSinkObject.Save(1, &r.End) |
| } |
| |
| func (r *SACKBlock) afterLoad() {} |
| |
| func (r *SACKBlock) StateLoad(stateSourceObject state.Source) { |
| stateSourceObject.Load(0, &r.Start) |
| stateSourceObject.Load(1, &r.End) |
| } |
| |
| func (t *TCPOptions) StateTypeName() string { |
| return "pkg/tcpip/header.TCPOptions" |
| } |
| |
| func (t *TCPOptions) StateFields() []string { |
| return []string{ |
| "TS", |
| "TSVal", |
| "TSEcr", |
| "SACKBlocks", |
| } |
| } |
| |
| func (t *TCPOptions) beforeSave() {} |
| |
| func (t *TCPOptions) StateSave(stateSinkObject state.Sink) { |
| t.beforeSave() |
| stateSinkObject.Save(0, &t.TS) |
| stateSinkObject.Save(1, &t.TSVal) |
| stateSinkObject.Save(2, &t.TSEcr) |
| stateSinkObject.Save(3, &t.SACKBlocks) |
| } |
| |
| func (t *TCPOptions) afterLoad() {} |
| |
| func (t *TCPOptions) StateLoad(stateSourceObject state.Source) { |
| stateSourceObject.Load(0, &t.TS) |
| stateSourceObject.Load(1, &t.TSVal) |
| stateSourceObject.Load(2, &t.TSEcr) |
| stateSourceObject.Load(3, &t.SACKBlocks) |
| } |
| |
| func init() { |
| state.Register((*SACKBlock)(nil)) |
| state.Register((*TCPOptions)(nil)) |
| } |