From 73124bccc1965bb4bdb5bfbc47174eb743617d25 Mon Sep 17 00:00:00 2001 From: Alex van de Sandt Date: Sat, 2 Mar 2019 15:18:32 -0500 Subject: [PATCH] Add documentation to functions --- candid_client/src/candid_connection.rs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/candid_client/src/candid_connection.rs b/candid_client/src/candid_connection.rs index da35b47..a40d2c6 100644 --- a/candid_client/src/candid_connection.rs +++ b/candid_client/src/candid_connection.rs @@ -6,7 +6,11 @@ pub struct CandidConnection { stream: BufReader, } +/// A connection to a CANdid server. Simply contains a `TcpStream` wrapped by a +/// `BufReader`. Handles the communication with a server by reading one can +/// frame at a time from a TCP stream. impl CandidConnection { + /// Creates a new CandidConnection with a server designated at `addr` pub fn new(addr: A) -> Result { let stream = TcpStream::connect(addr)?; @@ -15,18 +19,26 @@ impl CandidConnection { }) } + /// Reads a single CAN frame sent by the server. pub fn read_frame(&mut self) -> Result { let mut buffer = String::new(); - self.stream.read_line(&mut buffer)?; - Ok(buffer) } + /// Unwraps the internal `BufReader` and returns the raw `TcpStream`. + /// + /// Note that any leftover data in the buffer will be lost. pub fn into_raw_stream(self) -> TcpStream { self.stream.into_inner() } + /// Unwraps this `CandidConnection` and returns the underlying `BufReader`. + pub fn into_buffer(self) -> BufReader { + self.stream + } + + /// Returns an iterator over the raw lines form the underlying `TcpStream`. pub fn lines(self) -> Lines> { self.stream.lines() } -- 2.51.2