(e *encoder, l uint32)
| 268 | ) |
| 269 | |
| 270 | func decodeInfo(e *encoder, l uint32) optionReply { |
| 271 | if l < 2 { |
| 272 | e.check(errors.New("invalid length for info reply")) |
| 273 | } |
| 274 | code := e.uint16() |
| 275 | var rep optionReply |
| 276 | switch code { |
| 277 | case cInfoExport: |
| 278 | rep = new(infoExport) |
| 279 | case cInfoName: |
| 280 | rep = new(infoName) |
| 281 | case cInfoDescription: |
| 282 | rep = new(infoDescription) |
| 283 | case cInfoBlockSize: |
| 284 | rep = new(infoBlockSize) |
| 285 | default: |
| 286 | e.discard(l - 2) |
| 287 | return nil |
| 288 | } |
| 289 | rep.decode(e, l-2) |
| 290 | return rep |
| 291 | } |
| 292 | |
| 293 | type infoExport struct { |
| 294 | size uint64 |