github.com/devops-filetransfer/sshego@v7.0.4+incompatible/filedb_gen.go (about) 1 package sshego 2 3 // NOTE: THIS FILE WAS PRODUCED BY THE 4 // GREENPACK CODE GENERATION TOOL (github.com/glycerine/greenpack) 5 // DO NOT EDIT 6 7 import ( 8 "github.com/glycerine/greenpack/msgp" 9 ) 10 11 // DecodeMsg implements msgp.Decodable 12 // We treat empty fields as if we read a Nil from the wire. 13 func (z *Filedb) DecodeMsg(dc *msgp.Reader) (err error) { 14 var sawTopNil bool 15 if dc.IsNil() { 16 sawTopNil = true 17 err = dc.ReadNil() 18 if err != nil { 19 return 20 } 21 dc.PushAlwaysNil() 22 } 23 24 var field []byte 25 _ = field 26 const maxFields0zgensym_995050f2db4fcb57_1 = 1 27 28 // -- templateDecodeMsg starts here-- 29 var totalEncodedFields0zgensym_995050f2db4fcb57_1 uint32 30 totalEncodedFields0zgensym_995050f2db4fcb57_1, err = dc.ReadMapHeader() 31 if err != nil { 32 return 33 } 34 encodedFieldsLeft0zgensym_995050f2db4fcb57_1 := totalEncodedFields0zgensym_995050f2db4fcb57_1 35 missingFieldsLeft0zgensym_995050f2db4fcb57_1 := maxFields0zgensym_995050f2db4fcb57_1 - totalEncodedFields0zgensym_995050f2db4fcb57_1 36 37 var nextMiss0zgensym_995050f2db4fcb57_1 int32 = -1 38 var found0zgensym_995050f2db4fcb57_1 [maxFields0zgensym_995050f2db4fcb57_1]bool 39 var curField0zgensym_995050f2db4fcb57_1 string 40 41 doneWithStruct0zgensym_995050f2db4fcb57_1: 42 // First fill all the encoded fields, then 43 // treat the remaining, missing fields, as Nil. 44 for encodedFieldsLeft0zgensym_995050f2db4fcb57_1 > 0 || missingFieldsLeft0zgensym_995050f2db4fcb57_1 > 0 { 45 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft0zgensym_995050f2db4fcb57_1, missingFieldsLeft0zgensym_995050f2db4fcb57_1, msgp.ShowFound(found0zgensym_995050f2db4fcb57_1[:]), decodeMsgFieldOrder0zgensym_995050f2db4fcb57_1) 46 if encodedFieldsLeft0zgensym_995050f2db4fcb57_1 > 0 { 47 encodedFieldsLeft0zgensym_995050f2db4fcb57_1-- 48 field, err = dc.ReadMapKeyPtr() 49 if err != nil { 50 return 51 } 52 curField0zgensym_995050f2db4fcb57_1 = msgp.UnsafeString(field) 53 } else { 54 //missing fields need handling 55 if nextMiss0zgensym_995050f2db4fcb57_1 < 0 { 56 // tell the reader to only give us Nils 57 // until further notice. 58 dc.PushAlwaysNil() 59 nextMiss0zgensym_995050f2db4fcb57_1 = 0 60 } 61 for nextMiss0zgensym_995050f2db4fcb57_1 < maxFields0zgensym_995050f2db4fcb57_1 && (found0zgensym_995050f2db4fcb57_1[nextMiss0zgensym_995050f2db4fcb57_1] || decodeMsgFieldSkip0zgensym_995050f2db4fcb57_1[nextMiss0zgensym_995050f2db4fcb57_1]) { 62 nextMiss0zgensym_995050f2db4fcb57_1++ 63 } 64 if nextMiss0zgensym_995050f2db4fcb57_1 == maxFields0zgensym_995050f2db4fcb57_1 { 65 // filled all the empty fields! 66 break doneWithStruct0zgensym_995050f2db4fcb57_1 67 } 68 missingFieldsLeft0zgensym_995050f2db4fcb57_1-- 69 curField0zgensym_995050f2db4fcb57_1 = decodeMsgFieldOrder0zgensym_995050f2db4fcb57_1[nextMiss0zgensym_995050f2db4fcb57_1] 70 } 71 //fmt.Printf("switching on curField: '%v'\n", curField0zgensym_995050f2db4fcb57_1) 72 switch curField0zgensym_995050f2db4fcb57_1 { 73 // -- templateDecodeMsg ends here -- 74 75 case "HostDb_zid00_ptr": 76 found0zgensym_995050f2db4fcb57_1[0] = true 77 if dc.IsNil() { 78 err = dc.ReadNil() 79 if err != nil { 80 return 81 } 82 83 if z.HostDb != nil { 84 dc.PushAlwaysNil() 85 err = z.HostDb.DecodeMsg(dc) 86 if err != nil { 87 return 88 } 89 dc.PopAlwaysNil() 90 } 91 } else { 92 // not Nil, we have something to read 93 94 if z.HostDb == nil { 95 z.HostDb = new(HostDb) 96 } 97 err = z.HostDb.DecodeMsg(dc) 98 if err != nil { 99 return 100 } 101 } 102 default: 103 err = dc.Skip() 104 if err != nil { 105 return 106 } 107 } 108 } 109 if nextMiss0zgensym_995050f2db4fcb57_1 != -1 { 110 dc.PopAlwaysNil() 111 } 112 113 if sawTopNil { 114 dc.PopAlwaysNil() 115 } 116 117 if p, ok := interface{}(z).(msgp.PostLoad); ok { 118 p.PostLoadHook() 119 } 120 121 return 122 } 123 124 // fields of Filedb 125 var decodeMsgFieldOrder0zgensym_995050f2db4fcb57_1 = []string{"HostDb_zid00_ptr"} 126 127 var decodeMsgFieldSkip0zgensym_995050f2db4fcb57_1 = []bool{false} 128 129 // fieldsNotEmpty supports omitempty tags 130 func (z *Filedb) fieldsNotEmpty(isempty []bool) uint32 { 131 if len(isempty) == 0 { 132 return 1 133 } 134 var fieldsInUse uint32 = 1 135 isempty[0] = (z.HostDb == nil) // pointer, omitempty 136 if isempty[0] { 137 fieldsInUse-- 138 } 139 140 return fieldsInUse 141 } 142 143 // EncodeMsg implements msgp.Encodable 144 func (z *Filedb) EncodeMsg(en *msgp.Writer) (err error) { 145 if p, ok := interface{}(z).(msgp.PreSave); ok { 146 p.PreSaveHook() 147 } 148 149 // honor the omitempty tags 150 var empty_zgensym_995050f2db4fcb57_2 [1]bool 151 fieldsInUse_zgensym_995050f2db4fcb57_3 := z.fieldsNotEmpty(empty_zgensym_995050f2db4fcb57_2[:]) 152 153 // map header 154 err = en.WriteMapHeader(fieldsInUse_zgensym_995050f2db4fcb57_3) 155 if err != nil { 156 return err 157 } 158 159 if !empty_zgensym_995050f2db4fcb57_2[0] { 160 // write "HostDb_zid00_ptr" 161 err = en.Append(0xb0, 0x48, 0x6f, 0x73, 0x74, 0x44, 0x62, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x30, 0x5f, 0x70, 0x74, 0x72) 162 if err != nil { 163 return err 164 } 165 if z.HostDb == nil { 166 err = en.WriteNil() 167 if err != nil { 168 return 169 } 170 } else { 171 err = z.HostDb.EncodeMsg(en) 172 if err != nil { 173 return 174 } 175 } 176 } 177 178 return 179 } 180 181 // MarshalMsg implements msgp.Marshaler 182 func (z *Filedb) MarshalMsg(b []byte) (o []byte, err error) { 183 if p, ok := interface{}(z).(msgp.PreSave); ok { 184 p.PreSaveHook() 185 } 186 187 o = msgp.Require(b, z.Msgsize()) 188 189 // honor the omitempty tags 190 var empty [1]bool 191 fieldsInUse := z.fieldsNotEmpty(empty[:]) 192 o = msgp.AppendMapHeader(o, fieldsInUse) 193 194 if !empty[0] { 195 // string "HostDb_zid00_ptr" 196 o = append(o, 0xb0, 0x48, 0x6f, 0x73, 0x74, 0x44, 0x62, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x30, 0x5f, 0x70, 0x74, 0x72) 197 if z.HostDb == nil { 198 o = msgp.AppendNil(o) 199 } else { 200 o, err = z.HostDb.MarshalMsg(o) 201 if err != nil { 202 return 203 } 204 } 205 } 206 207 return 208 } 209 210 // UnmarshalMsg implements msgp.Unmarshaler 211 func (z *Filedb) UnmarshalMsg(bts []byte) (o []byte, err error) { 212 return z.UnmarshalMsgWithCfg(bts, nil) 213 } 214 func (z *Filedb) UnmarshalMsgWithCfg(bts []byte, cfg *msgp.RuntimeConfig) (o []byte, err error) { 215 var nbs msgp.NilBitsStack 216 nbs.Init(cfg) 217 var sawTopNil bool 218 if msgp.IsNil(bts) { 219 sawTopNil = true 220 bts = nbs.PushAlwaysNil(bts[1:]) 221 } 222 223 var field []byte 224 _ = field 225 const maxFields4zgensym_995050f2db4fcb57_5 = 1 226 227 // -- templateUnmarshalMsg starts here-- 228 var totalEncodedFields4zgensym_995050f2db4fcb57_5 uint32 229 if !nbs.AlwaysNil { 230 totalEncodedFields4zgensym_995050f2db4fcb57_5, bts, err = nbs.ReadMapHeaderBytes(bts) 231 if err != nil { 232 return 233 } 234 } 235 encodedFieldsLeft4zgensym_995050f2db4fcb57_5 := totalEncodedFields4zgensym_995050f2db4fcb57_5 236 missingFieldsLeft4zgensym_995050f2db4fcb57_5 := maxFields4zgensym_995050f2db4fcb57_5 - totalEncodedFields4zgensym_995050f2db4fcb57_5 237 238 var nextMiss4zgensym_995050f2db4fcb57_5 int32 = -1 239 var found4zgensym_995050f2db4fcb57_5 [maxFields4zgensym_995050f2db4fcb57_5]bool 240 var curField4zgensym_995050f2db4fcb57_5 string 241 242 doneWithStruct4zgensym_995050f2db4fcb57_5: 243 // First fill all the encoded fields, then 244 // treat the remaining, missing fields, as Nil. 245 for encodedFieldsLeft4zgensym_995050f2db4fcb57_5 > 0 || missingFieldsLeft4zgensym_995050f2db4fcb57_5 > 0 { 246 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft4zgensym_995050f2db4fcb57_5, missingFieldsLeft4zgensym_995050f2db4fcb57_5, msgp.ShowFound(found4zgensym_995050f2db4fcb57_5[:]), unmarshalMsgFieldOrder4zgensym_995050f2db4fcb57_5) 247 if encodedFieldsLeft4zgensym_995050f2db4fcb57_5 > 0 { 248 encodedFieldsLeft4zgensym_995050f2db4fcb57_5-- 249 field, bts, err = nbs.ReadMapKeyZC(bts) 250 if err != nil { 251 return 252 } 253 curField4zgensym_995050f2db4fcb57_5 = msgp.UnsafeString(field) 254 } else { 255 //missing fields need handling 256 if nextMiss4zgensym_995050f2db4fcb57_5 < 0 { 257 // set bts to contain just mnil (0xc0) 258 bts = nbs.PushAlwaysNil(bts) 259 nextMiss4zgensym_995050f2db4fcb57_5 = 0 260 } 261 for nextMiss4zgensym_995050f2db4fcb57_5 < maxFields4zgensym_995050f2db4fcb57_5 && (found4zgensym_995050f2db4fcb57_5[nextMiss4zgensym_995050f2db4fcb57_5] || unmarshalMsgFieldSkip4zgensym_995050f2db4fcb57_5[nextMiss4zgensym_995050f2db4fcb57_5]) { 262 nextMiss4zgensym_995050f2db4fcb57_5++ 263 } 264 if nextMiss4zgensym_995050f2db4fcb57_5 == maxFields4zgensym_995050f2db4fcb57_5 { 265 // filled all the empty fields! 266 break doneWithStruct4zgensym_995050f2db4fcb57_5 267 } 268 missingFieldsLeft4zgensym_995050f2db4fcb57_5-- 269 curField4zgensym_995050f2db4fcb57_5 = unmarshalMsgFieldOrder4zgensym_995050f2db4fcb57_5[nextMiss4zgensym_995050f2db4fcb57_5] 270 } 271 //fmt.Printf("switching on curField: '%v'\n", curField4zgensym_995050f2db4fcb57_5) 272 switch curField4zgensym_995050f2db4fcb57_5 { 273 // -- templateUnmarshalMsg ends here -- 274 275 case "HostDb_zid00_ptr": 276 found4zgensym_995050f2db4fcb57_5[0] = true 277 if nbs.AlwaysNil { 278 if z.HostDb != nil { 279 z.HostDb.UnmarshalMsg(msgp.OnlyNilSlice) 280 } 281 } else { 282 // not nbs.AlwaysNil 283 if msgp.IsNil(bts) { 284 bts = bts[1:] 285 if nil != z.HostDb { 286 z.HostDb.UnmarshalMsg(msgp.OnlyNilSlice) 287 } 288 } else { 289 // not nbs.AlwaysNil and not IsNil(bts): have something to read 290 291 if z.HostDb == nil { 292 z.HostDb = new(HostDb) 293 } 294 bts, err = z.HostDb.UnmarshalMsg(bts) 295 if err != nil { 296 return 297 } 298 if err != nil { 299 return 300 } 301 } 302 } 303 default: 304 bts, err = msgp.Skip(bts) 305 if err != nil { 306 return 307 } 308 } 309 } 310 if nextMiss4zgensym_995050f2db4fcb57_5 != -1 { 311 bts = nbs.PopAlwaysNil() 312 } 313 314 if sawTopNil { 315 bts = nbs.PopAlwaysNil() 316 } 317 o = bts 318 if p, ok := interface{}(z).(msgp.PostLoad); ok { 319 p.PostLoadHook() 320 } 321 322 return 323 } 324 325 // fields of Filedb 326 var unmarshalMsgFieldOrder4zgensym_995050f2db4fcb57_5 = []string{"HostDb_zid00_ptr"} 327 328 var unmarshalMsgFieldSkip4zgensym_995050f2db4fcb57_5 = []bool{false} 329 330 // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message 331 func (z *Filedb) Msgsize() (s int) { 332 s = 1 + 17 333 if z.HostDb == nil { 334 s += msgp.NilSize 335 } else { 336 s += z.HostDb.Msgsize() 337 } 338 return 339 }