(t LayerType)
| 566 | return p.layers |
| 567 | } |
| 568 | func (p *lazyPacket) Layer(t LayerType) Layer { |
| 569 | for _, l := range p.layers { |
| 570 | if l.LayerType() == t { |
| 571 | return l |
| 572 | } |
| 573 | } |
| 574 | numLayers := len(p.layers) |
| 575 | for p.next != nil { |
| 576 | p.decodeNextLayer() |
| 577 | for _, l := range p.layers[numLayers:] { |
| 578 | if l.LayerType() == t { |
| 579 | return l |
| 580 | } |
| 581 | } |
| 582 | numLayers = len(p.layers) |
| 583 | } |
| 584 | return nil |
| 585 | } |
| 586 | func (p *lazyPacket) LayerClass(lc LayerClass) Layer { |
| 587 | for _, l := range p.layers { |
| 588 | if lc.Contains(l.LayerType()) { |
nothing calls this directly
no test coverage detected