/rust/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/reader/nested.rs
Line | Count | Source |
1 | | //! Reader type for consuming nested TLV records within a DER document. |
2 | | |
3 | | use crate::{reader::Reader, Error, ErrorKind, Header, Length, Result}; |
4 | | |
5 | | /// Reader type used by [`Reader::read_nested`]. |
6 | | pub struct NestedReader<'i, R> { |
7 | | /// Inner reader type. |
8 | | inner: &'i mut R, |
9 | | |
10 | | /// Nested input length. |
11 | | input_len: Length, |
12 | | |
13 | | /// Position within the nested input. |
14 | | position: Length, |
15 | | } |
16 | | |
17 | | impl<'i, 'r, R: Reader<'r>> NestedReader<'i, R> { |
18 | | /// Create a new nested reader which can read the given [`Length`]. |
19 | 158k | pub(crate) fn new(inner: &'i mut R, len: Length) -> Result<Self> { |
20 | 158k | if len <= inner.remaining_len() { |
21 | 158k | Ok(Self { |
22 | 158k | inner, |
23 | 158k | input_len: len, |
24 | 158k | position: Length::ZERO, |
25 | 158k | }) |
26 | | } else { |
27 | | Err(ErrorKind::Incomplete { |
28 | 464 | expected_len: (inner.offset() + len)?, |
29 | 443 | actual_len: (inner.offset() + inner.remaining_len())?, |
30 | | } |
31 | 443 | .at(inner.offset())) |
32 | | } |
33 | 158k | } Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>>>::new Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>>::new Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>::new Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::new Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader>>::new Unexecuted instantiation: <der::reader::nested::NestedReader<_>>::new <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>>>::new Line | Count | Source | 19 | 79.4k | pub(crate) fn new(inner: &'i mut R, len: Length) -> Result<Self> { | 20 | 79.4k | if len <= inner.remaining_len() { | 21 | 79.4k | Ok(Self { | 22 | 79.4k | inner, | 23 | 79.4k | input_len: len, | 24 | 79.4k | position: Length::ZERO, | 25 | 79.4k | }) | 26 | | } else { | 27 | | Err(ErrorKind::Incomplete { | 28 | 65 | expected_len: (inner.offset() + len)?, | 29 | 63 | actual_len: (inner.offset() + inner.remaining_len())?, | 30 | | } | 31 | 63 | .at(inner.offset())) | 32 | | } | 33 | 79.4k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>>::new Line | Count | Source | 19 | 62.3k | pub(crate) fn new(inner: &'i mut R, len: Length) -> Result<Self> { | 20 | 62.3k | if len <= inner.remaining_len() { | 21 | 62.3k | Ok(Self { | 22 | 62.3k | inner, | 23 | 62.3k | input_len: len, | 24 | 62.3k | position: Length::ZERO, | 25 | 62.3k | }) | 26 | | } else { | 27 | | Err(ErrorKind::Incomplete { | 28 | 76 | expected_len: (inner.offset() + len)?, | 29 | 71 | actual_len: (inner.offset() + inner.remaining_len())?, | 30 | | } | 31 | 71 | .at(inner.offset())) | 32 | | } | 33 | 62.3k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>::new Line | Count | Source | 19 | 10.8k | pub(crate) fn new(inner: &'i mut R, len: Length) -> Result<Self> { | 20 | 10.8k | if len <= inner.remaining_len() { | 21 | 10.7k | Ok(Self { | 22 | 10.7k | inner, | 23 | 10.7k | input_len: len, | 24 | 10.7k | position: Length::ZERO, | 25 | 10.7k | }) | 26 | | } else { | 27 | | Err(ErrorKind::Incomplete { | 28 | 152 | expected_len: (inner.offset() + len)?, | 29 | 148 | actual_len: (inner.offset() + inner.remaining_len())?, | 30 | | } | 31 | 148 | .at(inner.offset())) | 32 | | } | 33 | 10.8k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::new Line | Count | Source | 19 | 3.10k | pub(crate) fn new(inner: &'i mut R, len: Length) -> Result<Self> { | 20 | 3.10k | if len <= inner.remaining_len() { | 21 | 3.04k | Ok(Self { | 22 | 3.04k | inner, | 23 | 3.04k | input_len: len, | 24 | 3.04k | position: Length::ZERO, | 25 | 3.04k | }) | 26 | | } else { | 27 | | Err(ErrorKind::Incomplete { | 28 | 58 | expected_len: (inner.offset() + len)?, | 29 | 52 | actual_len: (inner.offset() + inner.remaining_len())?, | 30 | | } | 31 | 52 | .at(inner.offset())) | 32 | | } | 33 | 3.10k | } |
<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>::new Line | Count | Source | 19 | 3.09k | pub(crate) fn new(inner: &'i mut R, len: Length) -> Result<Self> { | 20 | 3.09k | if len <= inner.remaining_len() { | 21 | 2.98k | Ok(Self { | 22 | 2.98k | inner, | 23 | 2.98k | input_len: len, | 24 | 2.98k | position: Length::ZERO, | 25 | 2.98k | }) | 26 | | } else { | 27 | | Err(ErrorKind::Incomplete { | 28 | 113 | expected_len: (inner.offset() + len)?, | 29 | 109 | actual_len: (inner.offset() + inner.remaining_len())?, | 30 | | } | 31 | 109 | .at(inner.offset())) | 32 | | } | 33 | 3.09k | } |
Unexecuted instantiation: <der::reader::nested::NestedReader<_>>::new |
34 | | |
35 | | /// Move the position cursor the given length, returning an error if there |
36 | | /// isn't enough remaining data in the nested input. |
37 | 3.41M | fn advance_position(&mut self, len: Length) -> Result<()> { |
38 | 3.41M | let new_position = (self.position + len)?; |
39 | | |
40 | 3.41M | if new_position <= self.input_len { |
41 | 3.41M | self.position = new_position; |
42 | 3.41M | Ok(()) |
43 | | } else { |
44 | | Err(ErrorKind::Incomplete { |
45 | 826 | expected_len: (self.inner.offset() + len)?, |
46 | 814 | actual_len: (self.inner.offset() + self.remaining_len())?, |
47 | | } |
48 | 814 | .at(self.inner.offset())) |
49 | | } |
50 | 3.41M | } Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>>>::advance_position Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>>::advance_position Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>::advance_position Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::advance_position Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader>>::advance_position Unexecuted instantiation: <der::reader::nested::NestedReader<_>>::advance_position <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>>>::advance_position Line | Count | Source | 37 | 444k | fn advance_position(&mut self, len: Length) -> Result<()> { | 38 | 444k | let new_position = (self.position + len)?; | 39 | | | 40 | 444k | if new_position <= self.input_len { | 41 | 444k | self.position = new_position; | 42 | 444k | Ok(()) | 43 | | } else { | 44 | | Err(ErrorKind::Incomplete { | 45 | 78 | expected_len: (self.inner.offset() + len)?, | 46 | 76 | actual_len: (self.inner.offset() + self.remaining_len())?, | 47 | | } | 48 | 76 | .at(self.inner.offset())) | 49 | | } | 50 | 444k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>>::advance_position Line | Count | Source | 37 | 608k | fn advance_position(&mut self, len: Length) -> Result<()> { | 38 | 608k | let new_position = (self.position + len)?; | 39 | | | 40 | 608k | if new_position <= self.input_len { | 41 | 608k | self.position = new_position; | 42 | 608k | Ok(()) | 43 | | } else { | 44 | | Err(ErrorKind::Incomplete { | 45 | 69 | expected_len: (self.inner.offset() + len)?, | 46 | 64 | actual_len: (self.inner.offset() + self.remaining_len())?, | 47 | | } | 48 | 64 | .at(self.inner.offset())) | 49 | | } | 50 | 608k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>::advance_position Line | Count | Source | 37 | 762k | fn advance_position(&mut self, len: Length) -> Result<()> { | 38 | 762k | let new_position = (self.position + len)?; | 39 | | | 40 | 762k | if new_position <= self.input_len { | 41 | 761k | self.position = new_position; | 42 | 761k | Ok(()) | 43 | | } else { | 44 | | Err(ErrorKind::Incomplete { | 45 | 248 | expected_len: (self.inner.offset() + len)?, | 46 | 245 | actual_len: (self.inner.offset() + self.remaining_len())?, | 47 | | } | 48 | 245 | .at(self.inner.offset())) | 49 | | } | 50 | 762k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>::advance_position Line | Count | Source | 37 | 794k | fn advance_position(&mut self, len: Length) -> Result<()> { | 38 | 794k | let new_position = (self.position + len)?; | 39 | | | 40 | 794k | if new_position <= self.input_len { | 41 | 793k | self.position = new_position; | 42 | 793k | Ok(()) | 43 | | } else { | 44 | | Err(ErrorKind::Incomplete { | 45 | 330 | expected_len: (self.inner.offset() + len)?, | 46 | 329 | actual_len: (self.inner.offset() + self.remaining_len())?, | 47 | | } | 48 | 329 | .at(self.inner.offset())) | 49 | | } | 50 | 794k | } |
<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>::advance_position Line | Count | Source | 37 | 802k | fn advance_position(&mut self, len: Length) -> Result<()> { | 38 | 802k | let new_position = (self.position + len)?; | 39 | | | 40 | 802k | if new_position <= self.input_len { | 41 | 802k | self.position = new_position; | 42 | 802k | Ok(()) | 43 | | } else { | 44 | | Err(ErrorKind::Incomplete { | 45 | 101 | expected_len: (self.inner.offset() + len)?, | 46 | 100 | actual_len: (self.inner.offset() + self.remaining_len())?, | 47 | | } | 48 | 100 | .at(self.inner.offset())) | 49 | | } | 50 | 802k | } |
Unexecuted instantiation: <der::reader::nested::NestedReader<_>>::advance_position |
51 | | } |
52 | | |
53 | | impl<'i, 'r, R: Reader<'r>> Reader<'r> for NestedReader<'i, R> { |
54 | 905k | fn input_len(&self) -> Length { |
55 | 905k | self.input_len |
56 | 905k | } Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::input_len Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::input_len Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::input_len Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::input_len Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::input_len Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::input_len <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::input_len Line | Count | Source | 54 | 205k | fn input_len(&self) -> Length { | 55 | 205k | self.input_len | 56 | 205k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::input_len Line | Count | Source | 54 | 343k | fn input_len(&self) -> Length { | 55 | 343k | self.input_len | 56 | 343k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::input_len Line | Count | Source | 54 | 202k | fn input_len(&self) -> Length { | 55 | 202k | self.input_len | 56 | 202k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::input_len Line | Count | Source | 54 | 81.7k | fn input_len(&self) -> Length { | 55 | 81.7k | self.input_len | 56 | 81.7k | } |
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::input_len Line | Count | Source | 54 | 72.2k | fn input_len(&self) -> Length { | 55 | 72.2k | self.input_len | 56 | 72.2k | } |
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::input_len |
57 | | |
58 | 393k | fn peek_byte(&self) -> Option<u8> { |
59 | 393k | if self.is_finished() { |
60 | 68.0k | None |
61 | | } else { |
62 | 325k | self.inner.peek_byte() |
63 | | } |
64 | 393k | } Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::peek_byte Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::peek_byte Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::peek_byte Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::peek_byte Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::peek_byte Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::peek_byte <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::peek_byte Line | Count | Source | 58 | 126k | fn peek_byte(&self) -> Option<u8> { | 59 | 126k | if self.is_finished() { | 60 | 64.8k | None | 61 | | } else { | 62 | 61.1k | self.inner.peek_byte() | 63 | | } | 64 | 126k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::peek_byte Line | Count | Source | 58 | 61.9k | fn peek_byte(&self) -> Option<u8> { | 59 | 61.9k | if self.is_finished() { | 60 | 455 | None | 61 | | } else { | 62 | 61.5k | self.inner.peek_byte() | 63 | | } | 64 | 61.9k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::peek_byte Line | Count | Source | 58 | 66.4k | fn peek_byte(&self) -> Option<u8> { | 59 | 66.4k | if self.is_finished() { | 60 | 1.82k | None | 61 | | } else { | 62 | 64.6k | self.inner.peek_byte() | 63 | | } | 64 | 66.4k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::peek_byte Line | Count | Source | 58 | 69.7k | fn peek_byte(&self) -> Option<u8> { | 59 | 69.7k | if self.is_finished() { | 60 | 854 | None | 61 | | } else { | 62 | 68.9k | self.inner.peek_byte() | 63 | | } | 64 | 69.7k | } |
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::peek_byte Line | Count | Source | 58 | 68.9k | fn peek_byte(&self) -> Option<u8> { | 59 | 68.9k | if self.is_finished() { | 60 | 0 | None | 61 | | } else { | 62 | 68.9k | self.inner.peek_byte() | 63 | | } | 64 | 68.9k | } |
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::peek_byte |
65 | | |
66 | 0 | fn peek_header(&self) -> Result<Header> { |
67 | 0 | if self.is_finished() { |
68 | 0 | Err(Error::incomplete(self.offset())) |
69 | | } else { |
70 | | // TODO(tarcieri): handle peeking past nested length |
71 | 0 | self.inner.peek_header() |
72 | | } |
73 | 0 | } Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::peek_header Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::peek_header |
74 | | |
75 | 915k | fn position(&self) -> Length { |
76 | 915k | self.position |
77 | 915k | } Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::position Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::position Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::position Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::position Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::position Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::position <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::position Line | Count | Source | 75 | 205k | fn position(&self) -> Length { | 76 | 205k | self.position | 77 | 205k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::position Line | Count | Source | 75 | 344k | fn position(&self) -> Length { | 76 | 344k | self.position | 77 | 344k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::position Line | Count | Source | 75 | 203k | fn position(&self) -> Length { | 76 | 203k | self.position | 77 | 203k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::position Line | Count | Source | 75 | 87.0k | fn position(&self) -> Length { | 76 | 87.0k | self.position | 77 | 87.0k | } |
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::position Line | Count | Source | 75 | 75.2k | fn position(&self) -> Length { | 76 | 75.2k | self.position | 77 | 75.2k | } |
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::position |
78 | | |
79 | 143k | fn read_slice(&mut self, len: Length) -> Result<&'r [u8]> { |
80 | 143k | self.advance_position(len)?; |
81 | 143k | self.inner.read_slice(len) |
82 | 143k | } Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::read_slice Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::read_slice Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::read_slice Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_slice Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::read_slice Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::read_slice <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::read_slice Line | Count | Source | 79 | 25.1k | fn read_slice(&mut self, len: Length) -> Result<&'r [u8]> { | 80 | 25.1k | self.advance_position(len)?; | 81 | 25.1k | self.inner.read_slice(len) | 82 | 25.1k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::read_slice Line | Count | Source | 79 | 25.4k | fn read_slice(&mut self, len: Length) -> Result<&'r [u8]> { | 80 | 25.4k | self.advance_position(len)?; | 81 | 25.3k | self.inner.read_slice(len) | 82 | 25.4k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::read_slice Line | Count | Source | 79 | 29.2k | fn read_slice(&mut self, len: Length) -> Result<&'r [u8]> { | 80 | 29.2k | self.advance_position(len)?; | 81 | 29.1k | self.inner.read_slice(len) | 82 | 29.2k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_slice Line | Count | Source | 79 | 31.7k | fn read_slice(&mut self, len: Length) -> Result<&'r [u8]> { | 80 | 31.7k | self.advance_position(len)?; | 81 | 31.6k | self.inner.read_slice(len) | 82 | 31.7k | } |
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::read_slice Line | Count | Source | 79 | 31.7k | fn read_slice(&mut self, len: Length) -> Result<&'r [u8]> { | 80 | 31.7k | self.advance_position(len)?; | 81 | 31.7k | self.inner.read_slice(len) | 82 | 31.7k | } |
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::read_slice |
83 | | |
84 | 150 | fn error(&mut self, kind: ErrorKind) -> Error { |
85 | 150 | self.inner.error(kind) |
86 | 150 | } Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::error Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::error Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::error Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::error Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::error Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::error <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::error Line | Count | Source | 84 | 30 | fn error(&mut self, kind: ErrorKind) -> Error { | 85 | 30 | self.inner.error(kind) | 86 | 30 | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::error Line | Count | Source | 84 | 30 | fn error(&mut self, kind: ErrorKind) -> Error { | 85 | 30 | self.inner.error(kind) | 86 | 30 | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::error Line | Count | Source | 84 | 30 | fn error(&mut self, kind: ErrorKind) -> Error { | 85 | 30 | self.inner.error(kind) | 86 | 30 | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::error Line | Count | Source | 84 | 30 | fn error(&mut self, kind: ErrorKind) -> Error { | 85 | 30 | self.inner.error(kind) | 86 | 30 | } |
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::error Line | Count | Source | 84 | 30 | fn error(&mut self, kind: ErrorKind) -> Error { | 85 | 30 | self.inner.error(kind) | 86 | 30 | } |
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::error |
87 | | |
88 | 6.45k | fn offset(&self) -> Length { |
89 | 6.45k | self.inner.offset() |
90 | 6.45k | } Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::offset Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::offset Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::offset Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::offset Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::offset <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::offset Line | Count | Source | 88 | 421 | fn offset(&self) -> Length { | 89 | 421 | self.inner.offset() | 90 | 421 | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::offset Line | Count | Source | 88 | 836 | fn offset(&self) -> Length { | 89 | 836 | self.inner.offset() | 90 | 836 | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::offset Line | Count | Source | 88 | 2.02k | fn offset(&self) -> Length { | 89 | 2.02k | self.inner.offset() | 90 | 2.02k | } |
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::offset Line | Count | Source | 88 | 3.17k | fn offset(&self) -> Length { | 89 | 3.17k | self.inner.offset() | 90 | 3.17k | } |
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::offset |
91 | | |
92 | 3.26M | fn read_into<'o>(&mut self, out: &'o mut [u8]) -> Result<&'o [u8]> { |
93 | 3.26M | self.advance_position(Length::try_from(out.len())?)?; |
94 | 3.26M | self.inner.read_into(out) |
95 | 3.26M | } Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::read_into Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::read_into Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::read_into Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_into Unexecuted instantiation: <der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::read_into Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::read_into <der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>>> as der::reader::Reader>::read_into Line | Count | Source | 92 | 419k | fn read_into<'o>(&mut self, out: &'o mut [u8]) -> Result<&'o [u8]> { | 93 | 419k | self.advance_position(Length::try_from(out.len())?)?; | 94 | 419k | self.inner.read_into(out) | 95 | 419k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>>> as der::reader::Reader>::read_into Line | Count | Source | 92 | 583k | fn read_into<'o>(&mut self, out: &'o mut [u8]) -> Result<&'o [u8]> { | 93 | 583k | self.advance_position(Length::try_from(out.len())?)?; | 94 | 583k | self.inner.read_into(out) | 95 | 583k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>>> as der::reader::Reader>::read_into Line | Count | Source | 92 | 732k | fn read_into<'o>(&mut self, out: &'o mut [u8]) -> Result<&'o [u8]> { | 93 | 732k | self.advance_position(Length::try_from(out.len())?)?; | 94 | 732k | self.inner.read_into(out) | 95 | 732k | } |
<der::reader::nested::NestedReader<der::reader::nested::NestedReader<der::reader::slice::SliceReader>> as der::reader::Reader>::read_into Line | Count | Source | 92 | 762k | fn read_into<'o>(&mut self, out: &'o mut [u8]) -> Result<&'o [u8]> { | 93 | 762k | self.advance_position(Length::try_from(out.len())?)?; | 94 | 762k | self.inner.read_into(out) | 95 | 762k | } |
<der::reader::nested::NestedReader<der::reader::slice::SliceReader> as der::reader::Reader>::read_into Line | Count | Source | 92 | 770k | fn read_into<'o>(&mut self, out: &'o mut [u8]) -> Result<&'o [u8]> { | 93 | 770k | self.advance_position(Length::try_from(out.len())?)?; | 94 | 770k | self.inner.read_into(out) | 95 | 770k | } |
Unexecuted instantiation: <der::reader::nested::NestedReader<_> as der::reader::Reader>::read_into |
96 | | } |