1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#[macro_use]
extern crate log;
extern crate libc;
extern crate errno;
extern crate openssl;
#[macro_use]
extern crate bitflags;
use std::io::Error;
use frame::Frame;
pub use plain::*;
pub use socket::*;
pub use secure::*;
pub mod frame;
mod socket;
mod plain;
mod secure;
pub trait Blocking {
fn b_recv(&mut self) -> Result<Box<Frame>, Error>;
fn b_send(&mut self, frame: &Frame) -> Result<(), Error>;
}
pub trait NonBlocking {
fn nb_recv(&mut self) -> Result<Vec<Box<Frame>>, Error>;
fn nb_send(&mut self, frame: &Frame) -> Result<(), Error>;
}