github.com/devops-filetransfer/sshego@v7.0.4+incompatible/cli_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 *KeepAlivePing) 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_c523013f9c573deb_1 = 3 27 28 // -- templateDecodeMsg starts here-- 29 var totalEncodedFields0zgensym_c523013f9c573deb_1 uint32 30 totalEncodedFields0zgensym_c523013f9c573deb_1, err = dc.ReadMapHeader() 31 if err != nil { 32 return 33 } 34 encodedFieldsLeft0zgensym_c523013f9c573deb_1 := totalEncodedFields0zgensym_c523013f9c573deb_1 35 missingFieldsLeft0zgensym_c523013f9c573deb_1 := maxFields0zgensym_c523013f9c573deb_1 - totalEncodedFields0zgensym_c523013f9c573deb_1 36 37 var nextMiss0zgensym_c523013f9c573deb_1 int32 = -1 38 var found0zgensym_c523013f9c573deb_1 [maxFields0zgensym_c523013f9c573deb_1]bool 39 var curField0zgensym_c523013f9c573deb_1 string 40 41 doneWithStruct0zgensym_c523013f9c573deb_1: 42 // First fill all the encoded fields, then 43 // treat the remaining, missing fields, as Nil. 44 for encodedFieldsLeft0zgensym_c523013f9c573deb_1 > 0 || missingFieldsLeft0zgensym_c523013f9c573deb_1 > 0 { 45 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft0zgensym_c523013f9c573deb_1, missingFieldsLeft0zgensym_c523013f9c573deb_1, msgp.ShowFound(found0zgensym_c523013f9c573deb_1[:]), decodeMsgFieldOrder0zgensym_c523013f9c573deb_1) 46 if encodedFieldsLeft0zgensym_c523013f9c573deb_1 > 0 { 47 encodedFieldsLeft0zgensym_c523013f9c573deb_1-- 48 field, err = dc.ReadMapKeyPtr() 49 if err != nil { 50 return 51 } 52 curField0zgensym_c523013f9c573deb_1 = msgp.UnsafeString(field) 53 } else { 54 //missing fields need handling 55 if nextMiss0zgensym_c523013f9c573deb_1 < 0 { 56 // tell the reader to only give us Nils 57 // until further notice. 58 dc.PushAlwaysNil() 59 nextMiss0zgensym_c523013f9c573deb_1 = 0 60 } 61 for nextMiss0zgensym_c523013f9c573deb_1 < maxFields0zgensym_c523013f9c573deb_1 && (found0zgensym_c523013f9c573deb_1[nextMiss0zgensym_c523013f9c573deb_1] || decodeMsgFieldSkip0zgensym_c523013f9c573deb_1[nextMiss0zgensym_c523013f9c573deb_1]) { 62 nextMiss0zgensym_c523013f9c573deb_1++ 63 } 64 if nextMiss0zgensym_c523013f9c573deb_1 == maxFields0zgensym_c523013f9c573deb_1 { 65 // filled all the empty fields! 66 break doneWithStruct0zgensym_c523013f9c573deb_1 67 } 68 missingFieldsLeft0zgensym_c523013f9c573deb_1-- 69 curField0zgensym_c523013f9c573deb_1 = decodeMsgFieldOrder0zgensym_c523013f9c573deb_1[nextMiss0zgensym_c523013f9c573deb_1] 70 } 71 //fmt.Printf("switching on curField: '%v'\n", curField0zgensym_c523013f9c573deb_1) 72 switch curField0zgensym_c523013f9c573deb_1 { 73 // -- templateDecodeMsg ends here -- 74 75 case "Sent_zid00_tim": 76 found0zgensym_c523013f9c573deb_1[0] = true 77 z.Sent, err = dc.ReadTime() 78 if err != nil { 79 return 80 } 81 case "Replied_zid01_tim": 82 found0zgensym_c523013f9c573deb_1[1] = true 83 z.Replied, err = dc.ReadTime() 84 if err != nil { 85 return 86 } 87 case "Serial_zid02_i64": 88 found0zgensym_c523013f9c573deb_1[2] = true 89 z.Serial, err = dc.ReadInt64() 90 if err != nil { 91 return 92 } 93 default: 94 err = dc.Skip() 95 if err != nil { 96 return 97 } 98 } 99 } 100 if nextMiss0zgensym_c523013f9c573deb_1 != -1 { 101 dc.PopAlwaysNil() 102 } 103 104 if sawTopNil { 105 dc.PopAlwaysNil() 106 } 107 108 if p, ok := interface{}(z).(msgp.PostLoad); ok { 109 p.PostLoadHook() 110 } 111 112 return 113 } 114 115 // fields of KeepAlivePing 116 var decodeMsgFieldOrder0zgensym_c523013f9c573deb_1 = []string{"Sent_zid00_tim", "Replied_zid01_tim", "Serial_zid02_i64"} 117 118 var decodeMsgFieldSkip0zgensym_c523013f9c573deb_1 = []bool{false, false, false} 119 120 // fieldsNotEmpty supports omitempty tags 121 func (z KeepAlivePing) fieldsNotEmpty(isempty []bool) uint32 { 122 if len(isempty) == 0 { 123 return 3 124 } 125 var fieldsInUse uint32 = 3 126 isempty[0] = (z.Sent.IsZero()) // time.Time, omitempty 127 if isempty[0] { 128 fieldsInUse-- 129 } 130 isempty[1] = (z.Replied.IsZero()) // time.Time, omitempty 131 if isempty[1] { 132 fieldsInUse-- 133 } 134 isempty[2] = (z.Serial == 0) // number, omitempty 135 if isempty[2] { 136 fieldsInUse-- 137 } 138 139 return fieldsInUse 140 } 141 142 // EncodeMsg implements msgp.Encodable 143 func (z KeepAlivePing) EncodeMsg(en *msgp.Writer) (err error) { 144 if p, ok := interface{}(z).(msgp.PreSave); ok { 145 p.PreSaveHook() 146 } 147 148 // honor the omitempty tags 149 var empty_zgensym_c523013f9c573deb_2 [3]bool 150 fieldsInUse_zgensym_c523013f9c573deb_3 := z.fieldsNotEmpty(empty_zgensym_c523013f9c573deb_2[:]) 151 152 // map header 153 err = en.WriteMapHeader(fieldsInUse_zgensym_c523013f9c573deb_3) 154 if err != nil { 155 return err 156 } 157 158 if !empty_zgensym_c523013f9c573deb_2[0] { 159 // write "Sent_zid00_tim" 160 err = en.Append(0xae, 0x53, 0x65, 0x6e, 0x74, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x30, 0x5f, 0x74, 0x69, 0x6d) 161 if err != nil { 162 return err 163 } 164 err = en.WriteTime(z.Sent) 165 if err != nil { 166 return 167 } 168 } 169 170 if !empty_zgensym_c523013f9c573deb_2[1] { 171 // write "Replied_zid01_tim" 172 err = en.Append(0xb1, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x31, 0x5f, 0x74, 0x69, 0x6d) 173 if err != nil { 174 return err 175 } 176 err = en.WriteTime(z.Replied) 177 if err != nil { 178 return 179 } 180 } 181 182 if !empty_zgensym_c523013f9c573deb_2[2] { 183 // write "Serial_zid02_i64" 184 err = en.Append(0xb0, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x32, 0x5f, 0x69, 0x36, 0x34) 185 if err != nil { 186 return err 187 } 188 err = en.WriteInt64(z.Serial) 189 if err != nil { 190 return 191 } 192 } 193 194 return 195 } 196 197 // MarshalMsg implements msgp.Marshaler 198 func (z KeepAlivePing) MarshalMsg(b []byte) (o []byte, err error) { 199 if p, ok := interface{}(z).(msgp.PreSave); ok { 200 p.PreSaveHook() 201 } 202 203 o = msgp.Require(b, z.Msgsize()) 204 205 // honor the omitempty tags 206 var empty [3]bool 207 fieldsInUse := z.fieldsNotEmpty(empty[:]) 208 o = msgp.AppendMapHeader(o, fieldsInUse) 209 210 if !empty[0] { 211 // string "Sent_zid00_tim" 212 o = append(o, 0xae, 0x53, 0x65, 0x6e, 0x74, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x30, 0x5f, 0x74, 0x69, 0x6d) 213 o = msgp.AppendTime(o, z.Sent) 214 } 215 216 if !empty[1] { 217 // string "Replied_zid01_tim" 218 o = append(o, 0xb1, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x31, 0x5f, 0x74, 0x69, 0x6d) 219 o = msgp.AppendTime(o, z.Replied) 220 } 221 222 if !empty[2] { 223 // string "Serial_zid02_i64" 224 o = append(o, 0xb0, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x32, 0x5f, 0x69, 0x36, 0x34) 225 o = msgp.AppendInt64(o, z.Serial) 226 } 227 228 return 229 } 230 231 // UnmarshalMsg implements msgp.Unmarshaler 232 func (z *KeepAlivePing) UnmarshalMsg(bts []byte) (o []byte, err error) { 233 return z.UnmarshalMsgWithCfg(bts, nil) 234 } 235 func (z *KeepAlivePing) UnmarshalMsgWithCfg(bts []byte, cfg *msgp.RuntimeConfig) (o []byte, err error) { 236 var nbs msgp.NilBitsStack 237 nbs.Init(cfg) 238 var sawTopNil bool 239 if msgp.IsNil(bts) { 240 sawTopNil = true 241 bts = nbs.PushAlwaysNil(bts[1:]) 242 } 243 244 var field []byte 245 _ = field 246 const maxFields4zgensym_c523013f9c573deb_5 = 3 247 248 // -- templateUnmarshalMsg starts here-- 249 var totalEncodedFields4zgensym_c523013f9c573deb_5 uint32 250 if !nbs.AlwaysNil { 251 totalEncodedFields4zgensym_c523013f9c573deb_5, bts, err = nbs.ReadMapHeaderBytes(bts) 252 if err != nil { 253 return 254 } 255 } 256 encodedFieldsLeft4zgensym_c523013f9c573deb_5 := totalEncodedFields4zgensym_c523013f9c573deb_5 257 missingFieldsLeft4zgensym_c523013f9c573deb_5 := maxFields4zgensym_c523013f9c573deb_5 - totalEncodedFields4zgensym_c523013f9c573deb_5 258 259 var nextMiss4zgensym_c523013f9c573deb_5 int32 = -1 260 var found4zgensym_c523013f9c573deb_5 [maxFields4zgensym_c523013f9c573deb_5]bool 261 var curField4zgensym_c523013f9c573deb_5 string 262 263 doneWithStruct4zgensym_c523013f9c573deb_5: 264 // First fill all the encoded fields, then 265 // treat the remaining, missing fields, as Nil. 266 for encodedFieldsLeft4zgensym_c523013f9c573deb_5 > 0 || missingFieldsLeft4zgensym_c523013f9c573deb_5 > 0 { 267 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft4zgensym_c523013f9c573deb_5, missingFieldsLeft4zgensym_c523013f9c573deb_5, msgp.ShowFound(found4zgensym_c523013f9c573deb_5[:]), unmarshalMsgFieldOrder4zgensym_c523013f9c573deb_5) 268 if encodedFieldsLeft4zgensym_c523013f9c573deb_5 > 0 { 269 encodedFieldsLeft4zgensym_c523013f9c573deb_5-- 270 field, bts, err = nbs.ReadMapKeyZC(bts) 271 if err != nil { 272 return 273 } 274 curField4zgensym_c523013f9c573deb_5 = msgp.UnsafeString(field) 275 } else { 276 //missing fields need handling 277 if nextMiss4zgensym_c523013f9c573deb_5 < 0 { 278 // set bts to contain just mnil (0xc0) 279 bts = nbs.PushAlwaysNil(bts) 280 nextMiss4zgensym_c523013f9c573deb_5 = 0 281 } 282 for nextMiss4zgensym_c523013f9c573deb_5 < maxFields4zgensym_c523013f9c573deb_5 && (found4zgensym_c523013f9c573deb_5[nextMiss4zgensym_c523013f9c573deb_5] || unmarshalMsgFieldSkip4zgensym_c523013f9c573deb_5[nextMiss4zgensym_c523013f9c573deb_5]) { 283 nextMiss4zgensym_c523013f9c573deb_5++ 284 } 285 if nextMiss4zgensym_c523013f9c573deb_5 == maxFields4zgensym_c523013f9c573deb_5 { 286 // filled all the empty fields! 287 break doneWithStruct4zgensym_c523013f9c573deb_5 288 } 289 missingFieldsLeft4zgensym_c523013f9c573deb_5-- 290 curField4zgensym_c523013f9c573deb_5 = unmarshalMsgFieldOrder4zgensym_c523013f9c573deb_5[nextMiss4zgensym_c523013f9c573deb_5] 291 } 292 //fmt.Printf("switching on curField: '%v'\n", curField4zgensym_c523013f9c573deb_5) 293 switch curField4zgensym_c523013f9c573deb_5 { 294 // -- templateUnmarshalMsg ends here -- 295 296 case "Sent_zid00_tim": 297 found4zgensym_c523013f9c573deb_5[0] = true 298 z.Sent, bts, err = nbs.ReadTimeBytes(bts) 299 300 if err != nil { 301 return 302 } 303 case "Replied_zid01_tim": 304 found4zgensym_c523013f9c573deb_5[1] = true 305 z.Replied, bts, err = nbs.ReadTimeBytes(bts) 306 307 if err != nil { 308 return 309 } 310 case "Serial_zid02_i64": 311 found4zgensym_c523013f9c573deb_5[2] = true 312 z.Serial, bts, err = nbs.ReadInt64Bytes(bts) 313 314 if err != nil { 315 return 316 } 317 default: 318 bts, err = msgp.Skip(bts) 319 if err != nil { 320 return 321 } 322 } 323 } 324 if nextMiss4zgensym_c523013f9c573deb_5 != -1 { 325 bts = nbs.PopAlwaysNil() 326 } 327 328 if sawTopNil { 329 bts = nbs.PopAlwaysNil() 330 } 331 o = bts 332 if p, ok := interface{}(z).(msgp.PostLoad); ok { 333 p.PostLoadHook() 334 } 335 336 return 337 } 338 339 // fields of KeepAlivePing 340 var unmarshalMsgFieldOrder4zgensym_c523013f9c573deb_5 = []string{"Sent_zid00_tim", "Replied_zid01_tim", "Serial_zid02_i64"} 341 342 var unmarshalMsgFieldSkip4zgensym_c523013f9c573deb_5 = []bool{false, false, false} 343 344 // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message 345 func (z KeepAlivePing) Msgsize() (s int) { 346 s = 1 + 15 + msgp.TimeSize + 18 + msgp.TimeSize + 17 + msgp.Int64Size 347 return 348 }