First commit of 0.5.* branch.
This commit is contained in:
+26
-35
@@ -169,14 +169,6 @@ impl VectorPacketBuffer {
|
||||
}
|
||||
|
||||
impl PacketBuffer for VectorPacketBuffer {
|
||||
fn find_label(&self, label: &str) -> Option<usize> {
|
||||
self.label_lookup.get(label).cloned()
|
||||
}
|
||||
|
||||
fn save_label(&mut self, label: &str, pos: usize) {
|
||||
self.label_lookup.insert(label.to_string(), pos);
|
||||
}
|
||||
|
||||
fn read(&mut self) -> Result<u8> {
|
||||
let res = self.buffer[self.pos];
|
||||
self.pos += 1;
|
||||
@@ -220,42 +212,33 @@ impl PacketBuffer for VectorPacketBuffer {
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn find_label(&self, label: &str) -> Option<usize> {
|
||||
self.label_lookup.get(label).cloned()
|
||||
}
|
||||
|
||||
fn save_label(&mut self, label: &str, pos: usize) {
|
||||
self.label_lookup.insert(label.to_string(), pos);
|
||||
}
|
||||
}
|
||||
|
||||
pub struct StreamPacketBuffer<'a, T>
|
||||
where
|
||||
T: Read,
|
||||
{
|
||||
pub struct StreamPacketBuffer<'a, T> where T: Read {
|
||||
pub stream: &'a mut T,
|
||||
pub buffer: Vec<u8>,
|
||||
pub pos: usize,
|
||||
}
|
||||
|
||||
impl<'a, T> StreamPacketBuffer<'a, T>
|
||||
where
|
||||
T: Read + 'a,
|
||||
{
|
||||
impl<'a, T> StreamPacketBuffer<'a, T> where T: Read + 'a {
|
||||
pub fn new(stream: &'a mut T) -> StreamPacketBuffer<'_, T> {
|
||||
StreamPacketBuffer {
|
||||
stream: stream,
|
||||
stream,
|
||||
buffer: Vec::new(),
|
||||
pos: 0,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a, T> PacketBuffer for StreamPacketBuffer<'a, T>
|
||||
where
|
||||
T: Read + 'a,
|
||||
{
|
||||
fn find_label(&self, _: &str) -> Option<usize> {
|
||||
None
|
||||
}
|
||||
|
||||
fn save_label(&mut self, _: &str, _: usize) {
|
||||
unimplemented!();
|
||||
}
|
||||
|
||||
impl<'a, T> PacketBuffer for StreamPacketBuffer<'a, T> where T: Read + 'a {
|
||||
fn read(&mut self) -> Result<u8> {
|
||||
while self.pos >= self.buffer.len() {
|
||||
let mut local_buffer = [0; 1];
|
||||
@@ -310,6 +293,14 @@ where
|
||||
self.pos += steps;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn find_label(&self, _: &str) -> Option<usize> {
|
||||
None
|
||||
}
|
||||
|
||||
fn save_label(&mut self, _: &str, _: usize) {
|
||||
unimplemented!();
|
||||
}
|
||||
}
|
||||
|
||||
pub struct BytePacketBuffer {
|
||||
@@ -333,12 +324,6 @@ impl Default for BytePacketBuffer {
|
||||
}
|
||||
|
||||
impl PacketBuffer for BytePacketBuffer {
|
||||
fn find_label(&self, _: &str) -> Option<usize> {
|
||||
None
|
||||
}
|
||||
|
||||
fn save_label(&mut self, _: &str, _: usize) {}
|
||||
|
||||
fn read(&mut self) -> Result<u8> {
|
||||
if self.pos >= 512 {
|
||||
return Err(BufferError::EndOfBuffer);
|
||||
@@ -393,6 +378,12 @@ impl PacketBuffer for BytePacketBuffer {
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn find_label(&self, _: &str) -> Option<usize> {
|
||||
None
|
||||
}
|
||||
|
||||
fn save_label(&mut self, _: &str, _: usize) {}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
|
||||
Reference in New Issue
Block a user