| // automatically generated by stateify. |
| |
| package icmp |
| |
| import ( |
| "gvisor.dev/gvisor/pkg/state" |
| "gvisor.dev/gvisor/pkg/tcpip/buffer" |
| ) |
| |
| func (p *icmpPacket) StateTypeName() string { |
| return "pkg/tcpip/transport/icmp.icmpPacket" |
| } |
| |
| func (p *icmpPacket) StateFields() []string { |
| return []string{ |
| "icmpPacketEntry", |
| "senderAddress", |
| "data", |
| "timestamp", |
| } |
| } |
| |
| func (p *icmpPacket) beforeSave() {} |
| |
| // +checklocksignore |
| func (p *icmpPacket) StateSave(stateSinkObject state.Sink) { |
| p.beforeSave() |
| var dataValue buffer.VectorisedView = p.saveData() |
| stateSinkObject.SaveValue(2, dataValue) |
| stateSinkObject.Save(0, &p.icmpPacketEntry) |
| stateSinkObject.Save(1, &p.senderAddress) |
| stateSinkObject.Save(3, &p.timestamp) |
| } |
| |
| func (p *icmpPacket) afterLoad() {} |
| |
| // +checklocksignore |
| func (p *icmpPacket) StateLoad(stateSourceObject state.Source) { |
| stateSourceObject.Load(0, &p.icmpPacketEntry) |
| stateSourceObject.Load(1, &p.senderAddress) |
| stateSourceObject.Load(3, &p.timestamp) |
| stateSourceObject.LoadValue(2, new(buffer.VectorisedView), func(y interface{}) { p.loadData(y.(buffer.VectorisedView)) }) |
| } |
| |
| func (e *endpoint) StateTypeName() string { |
| return "pkg/tcpip/transport/icmp.endpoint" |
| } |
| |
| func (e *endpoint) StateFields() []string { |
| return []string{ |
| "TransportEndpointInfo", |
| "DefaultSocketOptionsHandler", |
| "waiterQueue", |
| "uniqueID", |
| "rcvReady", |
| "rcvList", |
| "rcvBufSizeMax", |
| "rcvBufSize", |
| "rcvClosed", |
| "shutdownFlags", |
| "state", |
| "ttl", |
| "owner", |
| "ops", |
| } |
| } |
| |
| // +checklocksignore |
| func (e *endpoint) StateSave(stateSinkObject state.Sink) { |
| e.beforeSave() |
| var rcvBufSizeMaxValue int = e.saveRcvBufSizeMax() |
| stateSinkObject.SaveValue(6, rcvBufSizeMaxValue) |
| stateSinkObject.Save(0, &e.TransportEndpointInfo) |
| stateSinkObject.Save(1, &e.DefaultSocketOptionsHandler) |
| stateSinkObject.Save(2, &e.waiterQueue) |
| stateSinkObject.Save(3, &e.uniqueID) |
| stateSinkObject.Save(4, &e.rcvReady) |
| stateSinkObject.Save(5, &e.rcvList) |
| stateSinkObject.Save(7, &e.rcvBufSize) |
| stateSinkObject.Save(8, &e.rcvClosed) |
| stateSinkObject.Save(9, &e.shutdownFlags) |
| stateSinkObject.Save(10, &e.state) |
| stateSinkObject.Save(11, &e.ttl) |
| stateSinkObject.Save(12, &e.owner) |
| stateSinkObject.Save(13, &e.ops) |
| } |
| |
| // +checklocksignore |
| func (e *endpoint) StateLoad(stateSourceObject state.Source) { |
| stateSourceObject.Load(0, &e.TransportEndpointInfo) |
| stateSourceObject.Load(1, &e.DefaultSocketOptionsHandler) |
| stateSourceObject.Load(2, &e.waiterQueue) |
| stateSourceObject.Load(3, &e.uniqueID) |
| stateSourceObject.Load(4, &e.rcvReady) |
| stateSourceObject.Load(5, &e.rcvList) |
| stateSourceObject.Load(7, &e.rcvBufSize) |
| stateSourceObject.Load(8, &e.rcvClosed) |
| stateSourceObject.Load(9, &e.shutdownFlags) |
| stateSourceObject.Load(10, &e.state) |
| stateSourceObject.Load(11, &e.ttl) |
| stateSourceObject.Load(12, &e.owner) |
| stateSourceObject.Load(13, &e.ops) |
| stateSourceObject.LoadValue(6, new(int), func(y interface{}) { e.loadRcvBufSizeMax(y.(int)) }) |
| stateSourceObject.AfterLoad(e.afterLoad) |
| } |
| |
| func (l *icmpPacketList) StateTypeName() string { |
| return "pkg/tcpip/transport/icmp.icmpPacketList" |
| } |
| |
| func (l *icmpPacketList) StateFields() []string { |
| return []string{ |
| "head", |
| "tail", |
| } |
| } |
| |
| func (l *icmpPacketList) beforeSave() {} |
| |
| // +checklocksignore |
| func (l *icmpPacketList) StateSave(stateSinkObject state.Sink) { |
| l.beforeSave() |
| stateSinkObject.Save(0, &l.head) |
| stateSinkObject.Save(1, &l.tail) |
| } |
| |
| func (l *icmpPacketList) afterLoad() {} |
| |
| // +checklocksignore |
| func (l *icmpPacketList) StateLoad(stateSourceObject state.Source) { |
| stateSourceObject.Load(0, &l.head) |
| stateSourceObject.Load(1, &l.tail) |
| } |
| |
| func (e *icmpPacketEntry) StateTypeName() string { |
| return "pkg/tcpip/transport/icmp.icmpPacketEntry" |
| } |
| |
| func (e *icmpPacketEntry) StateFields() []string { |
| return []string{ |
| "next", |
| "prev", |
| } |
| } |
| |
| func (e *icmpPacketEntry) beforeSave() {} |
| |
| // +checklocksignore |
| func (e *icmpPacketEntry) StateSave(stateSinkObject state.Sink) { |
| e.beforeSave() |
| stateSinkObject.Save(0, &e.next) |
| stateSinkObject.Save(1, &e.prev) |
| } |
| |
| func (e *icmpPacketEntry) afterLoad() {} |
| |
| // +checklocksignore |
| func (e *icmpPacketEntry) StateLoad(stateSourceObject state.Source) { |
| stateSourceObject.Load(0, &e.next) |
| stateSourceObject.Load(1, &e.prev) |
| } |
| |
| func init() { |
| state.Register((*icmpPacket)(nil)) |
| state.Register((*endpoint)(nil)) |
| state.Register((*icmpPacketList)(nil)) |
| state.Register((*icmpPacketEntry)(nil)) |
| } |