buffer_state_autogen.go raw
1 // automatically generated by stateify.
2
3 package buffer
4
5 import (
6 "context"
7
8 "gvisor.dev/gvisor/pkg/state"
9 )
10
11 func (b *Buffer) StateTypeName() string {
12 return "pkg/buffer.Buffer"
13 }
14
15 func (b *Buffer) StateFields() []string {
16 return []string{
17 "data",
18 "size",
19 }
20 }
21
22 func (b *Buffer) beforeSave() {}
23
24 // +checklocksignore
25 func (b *Buffer) StateSave(stateSinkObject state.Sink) {
26 b.beforeSave()
27 var dataValue []byte
28 dataValue = b.saveData()
29 stateSinkObject.SaveValue(0, dataValue)
30 stateSinkObject.Save(1, &b.size)
31 }
32
33 func (b *Buffer) afterLoad(context.Context) {}
34
35 // +checklocksignore
36 func (b *Buffer) StateLoad(ctx context.Context, stateSourceObject state.Source) {
37 stateSourceObject.Load(1, &b.size)
38 stateSourceObject.LoadValue(0, new([]byte), func(y any) { b.loadData(ctx, y.([]byte)) })
39 }
40
41 func (c *chunk) StateTypeName() string {
42 return "pkg/buffer.chunk"
43 }
44
45 func (c *chunk) StateFields() []string {
46 return []string{
47 "chunkRefs",
48 "data",
49 }
50 }
51
52 func (c *chunk) beforeSave() {}
53
54 // +checklocksignore
55 func (c *chunk) StateSave(stateSinkObject state.Sink) {
56 c.beforeSave()
57 stateSinkObject.Save(0, &c.chunkRefs)
58 stateSinkObject.Save(1, &c.data)
59 }
60
61 func (c *chunk) afterLoad(context.Context) {}
62
63 // +checklocksignore
64 func (c *chunk) StateLoad(ctx context.Context, stateSourceObject state.Source) {
65 stateSourceObject.Load(0, &c.chunkRefs)
66 stateSourceObject.Load(1, &c.data)
67 }
68
69 func (r *chunkRefs) StateTypeName() string {
70 return "pkg/buffer.chunkRefs"
71 }
72
73 func (r *chunkRefs) StateFields() []string {
74 return []string{
75 "refCount",
76 }
77 }
78
79 func (r *chunkRefs) beforeSave() {}
80
81 // +checklocksignore
82 func (r *chunkRefs) StateSave(stateSinkObject state.Sink) {
83 r.beforeSave()
84 stateSinkObject.Save(0, &r.refCount)
85 }
86
87 // +checklocksignore
88 func (r *chunkRefs) StateLoad(ctx context.Context, stateSourceObject state.Source) {
89 stateSourceObject.Load(0, &r.refCount)
90 stateSourceObject.AfterLoad(func() { r.afterLoad(ctx) })
91 }
92
93 func (v *View) StateTypeName() string {
94 return "pkg/buffer.View"
95 }
96
97 func (v *View) StateFields() []string {
98 return []string{
99 "read",
100 "write",
101 "chunk",
102 }
103 }
104
105 func (v *View) beforeSave() {}
106
107 // +checklocksignore
108 func (v *View) StateSave(stateSinkObject state.Sink) {
109 v.beforeSave()
110 stateSinkObject.Save(0, &v.read)
111 stateSinkObject.Save(1, &v.write)
112 stateSinkObject.Save(2, &v.chunk)
113 }
114
115 func (v *View) afterLoad(context.Context) {}
116
117 // +checklocksignore
118 func (v *View) StateLoad(ctx context.Context, stateSourceObject state.Source) {
119 stateSourceObject.Load(0, &v.read)
120 stateSourceObject.Load(1, &v.write)
121 stateSourceObject.Load(2, &v.chunk)
122 }
123
124 func (l *ViewList) StateTypeName() string {
125 return "pkg/buffer.ViewList"
126 }
127
128 func (l *ViewList) StateFields() []string {
129 return []string{
130 "head",
131 "tail",
132 }
133 }
134
135 func (l *ViewList) beforeSave() {}
136
137 // +checklocksignore
138 func (l *ViewList) StateSave(stateSinkObject state.Sink) {
139 l.beforeSave()
140 stateSinkObject.Save(0, &l.head)
141 stateSinkObject.Save(1, &l.tail)
142 }
143
144 func (l *ViewList) afterLoad(context.Context) {}
145
146 // +checklocksignore
147 func (l *ViewList) StateLoad(ctx context.Context, stateSourceObject state.Source) {
148 stateSourceObject.Load(0, &l.head)
149 stateSourceObject.Load(1, &l.tail)
150 }
151
152 func (e *ViewEntry) StateTypeName() string {
153 return "pkg/buffer.ViewEntry"
154 }
155
156 func (e *ViewEntry) StateFields() []string {
157 return []string{
158 "next",
159 "prev",
160 }
161 }
162
163 func (e *ViewEntry) beforeSave() {}
164
165 // +checklocksignore
166 func (e *ViewEntry) StateSave(stateSinkObject state.Sink) {
167 e.beforeSave()
168 stateSinkObject.Save(0, &e.next)
169 stateSinkObject.Save(1, &e.prev)
170 }
171
172 func (e *ViewEntry) afterLoad(context.Context) {}
173
174 // +checklocksignore
175 func (e *ViewEntry) StateLoad(ctx context.Context, stateSourceObject state.Source) {
176 stateSourceObject.Load(0, &e.next)
177 stateSourceObject.Load(1, &e.prev)
178 }
179
180 func init() {
181 state.Register((*Buffer)(nil))
182 state.Register((*chunk)(nil))
183 state.Register((*chunkRefs)(nil))
184 state.Register((*View)(nil))
185 state.Register((*ViewList)(nil))
186 state.Register((*ViewEntry)(nil))
187 }
188