1
Fork 0

Remove core_io when no_std.

Ref: https://github.com/fluffysquirrels/framed-rs/issues/3
This commit is contained in:
Alex Helfet 2017-12-22 12:11:39 +00:00
parent 15456af48a
commit 872e6e3ceb
3 changed files with 6 additions and 23 deletions

View file

@ -13,10 +13,6 @@ repository = "https://github.com/fluffysquirrels/framed"
cobs = "^0.1.3"
ref_slice = "^1.1.1"
[dependencies.core-io]
git = "https://github.com/QuiltOS/core-io"
rev = "f084f913011c9916d420b520ead3953a2ccb950e"
[features]
default = ["use_std"]

View file

@ -10,7 +10,7 @@ use core::result;
pub type Result<T> = result::Result<T, Error>;
#[cfg_attr(feature = "use_std", derive(Debug))]
#[derive(Debug)]
pub enum Error {
/// COBS decode failed
CobsDecodeFailed,
@ -21,12 +21,6 @@ pub enum Error {
/// Forwarded io::Error.
#[cfg(feature = "use_std")]
Io(io::Error),
/// Forwarded Io error.
///
/// TODO: Store some extra value here.
#[cfg(not(feature = "use_std"))]
Io,
}
#[cfg(feature = "use_std")]

View file

@ -24,8 +24,6 @@
#![cfg_attr(not(feature = "use_std"), no_std)]
extern crate cobs;
#[cfg(not(feature = "use_std"))]
extern crate core_io;
extern crate ref_slice;
@ -42,16 +40,15 @@ use ref_slice::ref_slice_mut;
#[cfg(feature = "use_std")]
use std::io::{self, Read, Write};
#[cfg(not(feature = "use_std"))]
use core_io::{Read, Write};
const FRAME_END: u8 = 0;
/// Sends frames over an underlying `io::Write` instance.
#[cfg(feature = "use_std")]
pub struct Sender<W: Write> {
w: W,
}
#[cfg(feature = "use_std")]
impl<W: Write> Sender<W> {
pub fn new(w: W) -> Sender<W> {
Sender::<W> {
@ -70,11 +67,6 @@ impl<W: Write> Sender<W> {
self.w.write(&code)?;
}
#[cfg(not(feature = "use_std"))] {
self.w.write(&code)
.map_err(|_| Error::Io)?;
}
Ok(())
}
}
@ -83,6 +75,7 @@ impl<W: Write> Sender<W> {
///
/// TODO: Add a recv() variant suitable for no_std use, e.g. one that
/// takes a `&mut [u8]`.
#[cfg(feature = "use_std")]
pub struct Receiver<R: Read> {
#[cfg_attr(not(feature = "use_std"), allow(dead_code))]
@ -90,6 +83,7 @@ pub struct Receiver<R: Read> {
r: R,
}
#[cfg(feature = "use_std")]
impl<R: Read> Receiver<R> {
pub fn new(r: R) -> Receiver<R> {
Receiver::<R> {
@ -97,7 +91,6 @@ impl<R: Read> Receiver<R> {
}
}
#[cfg(feature = "use_std")]
pub fn recv(&mut self) -> Result<Vec<u8>> {
let mut next_frame = Vec::new();
@ -132,7 +125,7 @@ impl<R: Read> Receiver<R> {
}
}
#[cfg(test)]
#[cfg(all(test, not(feature = "use_std")))]
mod tests {
use channel::Channel;
use error::Error;