(cid ttnpb.MACCommandIdentifier, name string, n uint8, f func(band.Band, []byte, *ttnpb.MACCommand) error)
| 52 | type MACCommandSpec map[ttnpb.MACCommandIdentifier]*MACCommandDescriptor |
| 53 | |
| 54 | func newMACUnmarshaler(cid ttnpb.MACCommandIdentifier, name string, n uint8, f func(band.Band, []byte, *ttnpb.MACCommand) error) func(phy band.Band, b []byte, cmd *ttnpb.MACCommand) error { |
| 55 | return func(phy band.Band, b []byte, cmd *ttnpb.MACCommand) error { |
| 56 | if len(b) != int(n) { |
| 57 | return errExpectedLengthEqual(name, int(n))(len(b)) |
| 58 | } |
| 59 | cmd.Cid = cid |
| 60 | if f == nil { |
| 61 | return nil |
| 62 | } |
| 63 | return f(phy, b, cmd) |
| 64 | } |
| 65 | } |
| 66 | |
| 67 | // DefaultMACCommands contains all the default MAC commands. |
| 68 | var DefaultMACCommands = MACCommandSpec{ |
no test coverage detected