blaze_ssl/
lib.rs

1pub(crate) mod crypto;
2pub(crate) mod handshake;
3pub(crate) mod msg;
4pub mod stream;
5
6#[cfg(test)]
7mod test {
8    use crate::stream::{BlazeStream, StreamMode};
9    use std::net::TcpListener;
10    use std::thread;
11    use std::thread::sleep;
12    use std::time::Duration;
13    use std::{io::Read, net::TcpStream};
14
15    #[test]
16    fn test_server() {
17        // Begin listening for connections
18        let listener = TcpListener::bind(("0.0.0.0", 42127)).expect("Failed to bind TCP listener");
19
20        for stream in listener.incoming() {
21            thread::spawn(move || {
22                let stream = stream.expect("Failed to accept stream");
23                let stream = &mut BlazeStream::new(stream, StreamMode::Server)
24                    .expect("Failed to complete handshake");
25                let mut buf = [0u8; 20];
26                loop {
27                    buf.fill(0);
28                    let read_count = stream.read(&mut buf).unwrap();
29                    if read_count > 0 {
30                        println!("{:?}", &buf[..read_count]);
31                    }
32                    sleep(Duration::from_secs(5))
33                }
34            });
35        }
36    }
37
38    #[test]
39    fn test_client() {
40        let addr = ("gsprodblapp-02.ea.com", 10025);
41        // old = 159.153.64.175;
42        let stream = TcpStream::connect(addr).expect("Unable to connect to server");
43        let stream =
44            &mut BlazeStream::new(stream, StreamMode::Client).expect("Failed SSL handshake");
45    }
46}