diff options
Diffstat (limited to 'src/rfc8288.rs')
| -rw-r--r-- | src/rfc8288.rs | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/src/rfc8288.rs b/src/rfc8288.rs deleted file mode 100644 index b068573..0000000 --- a/src/rfc8288.rs +++ /dev/null @@ -1,72 +0,0 @@ -enum LinkParserEvent { - BeginLinkValue(usize), - EndLinkValue(usize), - - BeginLinkParam(usize), - EndLinkParam(usize), - - EndOfBuffer, -} - - -enum State { - Start, - UriRef, -} - -struct LinkParser { - state: State, - offset: usize, -} - -impl LinkParser { - fn new() -> Self { - return LinkParser { - state: State::Start, - offset: 0, - }; - } - - fn try_match_char(&self, buf: &[u8], b: u8) -> Option<usize> { - if buf[self.offset] != b { - return None; - } - - return Some(1); - } - - fn push(&mut self, new_data: &[u8]) -> LinkParserEvent { - match self.state { - State::Start => { - if let Some(len) = self.try_match_char(new_data, b'<') { - self.offset += len; - self.state = State::UriRef; - - return LinkParserEvent::BeginLinkValue(self.offset - len); - } - - todo!(); - }, - State::UriRef => { - loop { - if let Some(_) = self.try_match_char(new_data, b'>') { - break; - } else { - self.offset += 1; - } - } - todo!(); - }, - } - } - - fn finish(&mut self) { - } -} - -#[cfg(test)] -mod test { - #[test] - fn test() { - } -} |
